/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/hard2_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:51:28,190 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:51:28,191 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:51:28,253 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:51:28,254 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:51:28,255 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:51:28,256 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:51:28,257 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:51:28,259 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:51:28,259 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:51:28,260 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:51:28,261 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:51:28,261 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:51:28,262 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:51:28,263 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:51:28,264 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:51:28,264 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:51:28,265 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:51:28,267 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:51:28,268 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:51:28,269 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:51:28,270 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:51:28,271 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:51:28,272 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:51:28,273 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:51:28,275 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:51:28,276 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:51:28,276 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:51:28,277 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:51:28,277 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:51:28,278 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:51:28,278 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:51:28,279 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:51:28,279 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:51:28,280 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:51:28,281 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:51:28,281 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:51:28,281 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:51:28,282 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:51:28,282 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:51:28,283 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:51:28,283 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:51:28,284 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:51:28,302 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:51:28,302 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:51:28,303 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:51:28,303 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:51:28,304 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:51:28,304 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:51:28,304 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:51:28,304 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:51:28,305 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:51:28,305 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:51:28,305 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:51:28,305 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:51:28,305 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:51:28,305 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:51:28,306 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:51:28,307 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:51:28,307 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:51:28,307 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:51:28,307 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:51:28,307 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:51:28,307 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:51:28,307 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:51:28,308 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:51:28,308 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:51:28,308 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:51:28,308 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:51:28,308 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:51:28,308 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:51:28,487 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:51:28,509 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:51:28,511 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:51:28,512 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:51:28,512 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:51:28,513 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound100.c [2022-04-27 13:51:28,571 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a3a8ddd20/475123631baa46849ced06d24a10cb14/FLAGd16186e4c [2022-04-27 13:51:28,921 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:51:28,921 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound100.c [2022-04-27 13:51:28,926 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a3a8ddd20/475123631baa46849ced06d24a10cb14/FLAGd16186e4c [2022-04-27 13:51:28,935 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a3a8ddd20/475123631baa46849ced06d24a10cb14 [2022-04-27 13:51:28,937 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:51:28,938 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:51:28,939 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:51:28,939 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:51:28,942 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:51:28,943 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:51:28" (1/1) ... [2022-04-27 13:51:28,943 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7cc03830 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:28, skipping insertion in model container [2022-04-27 13:51:28,944 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:51:28" (1/1) ... [2022-04-27 13:51:28,949 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:51:28,965 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:51:29,116 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/hard2_valuebound100.c[526,539] [2022-04-27 13:51:29,140 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:51:29,153 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:51:29,162 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/hard2_valuebound100.c[526,539] [2022-04-27 13:51:29,173 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:51:29,182 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:51:29,183 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29 WrapperNode [2022-04-27 13:51:29,183 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:51:29,184 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:51:29,184 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:51:29,184 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:51:29,192 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,192 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,197 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,197 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,202 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,206 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,206 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,208 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:51:29,209 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:51:29,209 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:51:29,209 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:51:29,211 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (1/1) ... [2022-04-27 13:51:29,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:51:29,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:29,240 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:51:29,267 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:51:29,289 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:51:29,289 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:51:29,289 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:51:29,290 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:51:29,291 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:51:29,291 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:51:29,291 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:51:29,291 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:51:29,291 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:51:29,291 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:51:29,292 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:51:29,342 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:51:29,343 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:51:29,458 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:51:29,464 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:51:29,464 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:51:29,465 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:51:29 BoogieIcfgContainer [2022-04-27 13:51:29,466 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:51:29,469 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:51:29,469 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:51:29,474 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:51:29,474 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:51:28" (1/3) ... [2022-04-27 13:51:29,474 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c042cdd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:51:29, skipping insertion in model container [2022-04-27 13:51:29,475 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:29" (2/3) ... [2022-04-27 13:51:29,475 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c042cdd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:51:29, skipping insertion in model container [2022-04-27 13:51:29,475 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:51:29" (3/3) ... [2022-04-27 13:51:29,479 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound100.c [2022-04-27 13:51:29,491 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:51:29,491 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:51:29,531 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:51:29,538 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@66711342, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3835df21 [2022-04-27 13:51:29,538 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:51:29,545 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:51:29,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:51:29,550 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:29,551 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:29,551 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:29,555 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:29,555 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-27 13:51:29,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:29,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [567771129] [2022-04-27 13:51:29,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:29,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:29,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:29,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:29,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:29,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:51:29,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:51:29,757 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:51:29,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:29,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:29,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:51:29,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:51:29,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:51:29,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:51:29,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:51:29,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:51:29,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:51:29,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:51:29,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-27 13:51:29,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {38#true} is VALID [2022-04-27 13:51:29,769 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {38#true} is VALID [2022-04-27 13:51:29,769 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:51:29,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:51:29,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:51:29,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:51:29,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-27 13:51:29,774 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:51:29,774 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-27 13:51:29,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 13:51:29,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 13:51:29,775 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:51:29,775 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:51:29,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:29,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [567771129] [2022-04-27 13:51:29,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [567771129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:29,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:29,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:51:29,779 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1300548998] [2022-04-27 13:51:29,780 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:29,801 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:51:29,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:29,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:29,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:29,845 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:51:29,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:29,863 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:51:29,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:51:29,866 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:29,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:29,993 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-27 13:51:29,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:51:29,994 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:51:29,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:29,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:51:30,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:51:30,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-27 13:51:30,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:30,133 INFO L225 Difference]: With dead ends: 61 [2022-04-27 13:51:30,133 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 13:51:30,136 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:51:30,144 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:30,145 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:51:30,160 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 13:51:30,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-27 13:51:30,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:30,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,183 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,183 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:30,191 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:51:30,191 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:30,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:30,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:30,192 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:51:30,192 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:51:30,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:30,205 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:51:30,205 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:30,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:30,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:30,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:30,206 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:30,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-27 13:51:30,210 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-27 13:51:30,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:30,210 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-27 13:51:30,211 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,211 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:30,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:51:30,212 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:30,212 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:30,212 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:51:30,212 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:30,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:30,213 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-27 13:51:30,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:30,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122911727] [2022-04-27 13:51:30,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:30,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:30,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:30,351 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:30,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:30,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:51:30,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:30,374 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:51:30,374 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:30,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:30,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:51:30,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:51:30,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:30,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:51:30,398 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} call ULTIMATE.init(); {252#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:51:30,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:51:30,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:30,399 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:51:30,399 INFO L272 TraceCheckUtils]: 4: Hoare triple {240#true} call #t~ret5 := main(); {240#true} is VALID [2022-04-27 13:51:30,399 INFO L290 TraceCheckUtils]: 5: Hoare triple {240#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {240#true} is VALID [2022-04-27 13:51:30,399 INFO L272 TraceCheckUtils]: 6: Hoare triple {240#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {240#true} is VALID [2022-04-27 13:51:30,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:51:30,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:51:30,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:30,400 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:51:30,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {240#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:51:30,401 INFO L290 TraceCheckUtils]: 12: Hoare triple {249#(= main_~q~0 0)} assume !false; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:51:30,401 INFO L272 TraceCheckUtils]: 13: Hoare triple {249#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {250#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:30,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {250#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {251#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:51:30,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {251#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {241#false} is VALID [2022-04-27 13:51:30,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {241#false} assume !false; {241#false} is VALID [2022-04-27 13:51:30,403 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:51:30,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:30,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122911727] [2022-04-27 13:51:30,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [122911727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:30,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:30,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:51:30,404 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2007670749] [2022-04-27 13:51:30,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:30,405 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:51:30,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:30,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:30,429 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:51:30,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:30,430 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:51:30,430 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:30,431 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:30,810 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-27 13:51:30,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:51:30,810 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:51:30,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:30,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:30,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:30,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:51:30,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:30,896 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:51:30,896 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:51:30,899 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:51:30,903 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:30,903 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:51:30,905 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:51:30,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-27 13:51:30,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:30,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,916 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,917 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:30,926 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:51:30,926 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:51:30,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:30,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:30,943 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-27 13:51:30,943 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-27 13:51:30,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:30,946 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:51:30,946 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:51:30,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:30,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:30,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:30,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:30,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:30,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 13:51:30,948 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-27 13:51:30,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:30,949 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 13:51:30,949 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:51:30,949 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 13:51:30,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 13:51:30,950 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:30,950 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:30,950 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:51:30,950 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:30,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:30,951 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-27 13:51:30,954 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:30,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2053071481] [2022-04-27 13:51:30,954 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:30,955 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:30,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:31,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:51:31,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,047 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:51:31,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:31,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,052 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:31,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:31,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:51:31,053 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 13:51:31,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:31,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:31,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:51:31,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {458#true} call ULTIMATE.init(); {474#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:51:31,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:51:31,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:51:31,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {458#true} call #t~ret5 := main(); {458#true} is VALID [2022-04-27 13:51:31,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {458#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {458#true} is VALID [2022-04-27 13:51:31,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {458#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {458#true} is VALID [2022-04-27 13:51:31,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:31,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:31,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,061 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:51:31,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {458#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:51:31,062 INFO L290 TraceCheckUtils]: 12: Hoare triple {467#(= main_~A~0 main_~r~0)} assume !false; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:51:31,062 INFO L272 TraceCheckUtils]: 13: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {458#true} is VALID [2022-04-27 13:51:31,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:31,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:31,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:31,063 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:51:31,064 INFO L272 TraceCheckUtils]: 18: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:31,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {472#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {473#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:51:31,065 INFO L290 TraceCheckUtils]: 20: Hoare triple {473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {459#false} is VALID [2022-04-27 13:51:31,065 INFO L290 TraceCheckUtils]: 21: Hoare triple {459#false} assume !false; {459#false} is VALID [2022-04-27 13:51:31,065 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:51:31,066 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:31,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2053071481] [2022-04-27 13:51:31,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2053071481] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:31,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:31,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:51:31,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1769281575] [2022-04-27 13:51:31,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:31,067 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:51:31,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:31,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:51:31,085 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:51:31,085 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:51:31,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:31,086 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:51:31,086 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:31,087 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:51:31,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:31,427 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-27 13:51:31,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:51:31,427 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:51:31,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:31,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:51:31,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:31,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:51:31,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:31,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:51:31,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:31,488 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:51:31,488 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:51:31,489 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:51:31,490 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:31,490 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:51:31,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:51:31,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-27 13:51:31,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:31,496 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:31,496 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:31,497 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:31,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:31,499 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:51:31,500 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:51:31,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:31,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:31,500 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:51:31,501 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:51:31,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:31,503 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:51:31,503 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:51:31,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:31,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:31,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:31,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:31,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:51:31,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-27 13:51:31,506 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-27 13:51:31,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:31,507 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-27 13:51:31,507 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:51:31,507 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-27 13:51:31,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 13:51:31,508 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:31,508 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:31,508 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:51:31,508 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:31,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:31,509 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-27 13:51:31,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:31,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1657616729] [2022-04-27 13:51:31,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:31,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:31,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:31,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1808457395] [2022-04-27 13:51:31,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:31,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:31,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:31,551 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:51:31,594 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:51:31,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:51:31,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:31,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:31,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {698#true} call ULTIMATE.init(); {698#true} is VALID [2022-04-27 13:51:31,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {698#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(8, 2);call #Ultimate.allocInit(12, 3); {698#true} is VALID [2022-04-27 13:51:31,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:31,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {698#true} {698#true} #94#return; {698#true} is VALID [2022-04-27 13:51:31,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {698#true} call #t~ret5 := main(); {698#true} is VALID [2022-04-27 13:51:31,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {698#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {698#true} is VALID [2022-04-27 13:51:31,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {698#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {698#true} is VALID [2022-04-27 13:51:31,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:31,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:31,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:31,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#true} {698#true} #78#return; {698#true} is VALID [2022-04-27 13:51:31,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {698#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:31,919 INFO L290 TraceCheckUtils]: 12: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:31,920 INFO L272 TraceCheckUtils]: 13: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:51:31,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:31,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:31,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:31,921 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:31,921 INFO L272 TraceCheckUtils]: 18: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:51:31,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:31,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:31,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:31,922 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:31,923 INFO L272 TraceCheckUtils]: 23: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:31,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:31,926 INFO L290 TraceCheckUtils]: 25: Hoare triple {777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {699#false} is VALID [2022-04-27 13:51:31,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {699#false} assume !false; {699#false} is VALID [2022-04-27 13:51:31,927 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 13:51:31,927 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:51:31,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:31,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1657616729] [2022-04-27 13:51:31,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:31,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1808457395] [2022-04-27 13:51:31,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1808457395] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:31,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:31,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:51:31,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [868415753] [2022-04-27 13:51:31,928 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:31,929 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:51:31,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:31,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:51:31,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:31,951 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:31,951 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:31,952 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:31,953 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:51:31,953 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:51:32,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:32,146 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-27 13:51:32,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:32,147 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:51:32,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:32,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:51:32,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:51:32,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:51:32,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:51:32,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:51:32,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:32,225 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:51:32,225 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:51:32,226 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:32,233 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:32,234 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:51:32,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:51:32,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-27 13:51:32,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:32,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:51:32,251 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:51:32,251 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:51:32,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:32,255 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:51:32,255 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:32,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:32,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:32,257 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:51:32,258 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:51:32,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:32,262 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:51:32,263 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:32,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:32,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:32,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:32,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:32,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:51:32,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-27 13:51:32,265 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-27 13:51:32,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:32,266 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-27 13:51:32,266 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:51:32,266 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:32,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:51:32,267 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:32,267 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:32,293 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-27 13:51:32,483 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:51:32,484 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:32,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:32,484 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-27 13:51:32,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:32,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90716633] [2022-04-27 13:51:32,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:32,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:32,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:32,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1721010048] [2022-04-27 13:51:32,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:32,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:32,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:32,502 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:51:32,503 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:51:32,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:32,547 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:51:32,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:32,556 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:34,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {1063#true} call ULTIMATE.init(); {1063#true} is VALID [2022-04-27 13:51:34,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {1063#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(8, 2);call #Ultimate.allocInit(12, 3); {1063#true} is VALID [2022-04-27 13:51:34,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1063#true} {1063#true} #94#return; {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {1063#true} call #t~ret5 := main(); {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {1063#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {1063#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:34,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:34,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:34,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1063#true} {1063#true} #78#return; {1063#true} is VALID [2022-04-27 13:51:34,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {1063#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,950 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:34,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:34,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:34,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:34,952 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,952 INFO L272 TraceCheckUtils]: 18: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:34,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:34,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:34,952 INFO L290 TraceCheckUtils]: 21: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:34,953 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,953 INFO L272 TraceCheckUtils]: 23: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:34,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:34,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:34,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:34,954 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #84#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,955 INFO L290 TraceCheckUtils]: 28: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,955 INFO L290 TraceCheckUtils]: 29: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:51:34,956 INFO L272 TraceCheckUtils]: 30: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:34,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1163#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:34,957 INFO L290 TraceCheckUtils]: 32: Hoare triple {1163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1064#false} is VALID [2022-04-27 13:51:34,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#false} assume !false; {1064#false} is VALID [2022-04-27 13:51:34,957 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:51:34,957 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:51:34,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:34,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90716633] [2022-04-27 13:51:34,958 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:34,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1721010048] [2022-04-27 13:51:34,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1721010048] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:34,958 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:34,958 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:51:34,958 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1106900845] [2022-04-27 13:51:34,958 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:34,959 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 13:51:34,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:34,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:34,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:34,980 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:34,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:34,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:34,980 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:51:34,981 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:35,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:35,143 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-27 13:51:35,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:35,143 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 13:51:35,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:35,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:35,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:51:35,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:35,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:51:35,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-27 13:51:35,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:35,201 INFO L225 Difference]: With dead ends: 65 [2022-04-27 13:51:35,201 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:51:35,201 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:35,202 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:35,202 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:51:35,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:51:35,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-27 13:51:35,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:35,211 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:51:35,211 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:51:35,212 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:51:35,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:35,214 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:51:35,214 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:51:35,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:35,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:35,215 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:51:35,215 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:51:35,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:35,218 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:51:35,218 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:51:35,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:35,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:35,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:35,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:35,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:51:35,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-27 13:51:35,221 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-27 13:51:35,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:35,221 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-27 13:51:35,221 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:35,221 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 13:51:35,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:51:35,222 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:35,222 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:35,247 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:51:35,435 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:51:35,435 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:35,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:35,436 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-27 13:51:35,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:35,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1261919662] [2022-04-27 13:51:35,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:35,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:35,451 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:35,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [530668514] [2022-04-27 13:51:35,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:35,452 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:35,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:35,453 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:51:35,515 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:51:35,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:35,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:51:35,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:35,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:35,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:51:35,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:51:35,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:51:35,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:35,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:35,747 INFO L272 TraceCheckUtils]: 13: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,761 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,762 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:35,763 INFO L272 TraceCheckUtils]: 18: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,763 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,764 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:35,764 INFO L272 TraceCheckUtils]: 23: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,764 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,764 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,764 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,765 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:35,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:51:35,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:51:35,766 INFO L272 TraceCheckUtils]: 30: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,766 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,766 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,768 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,769 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:51:35,769 INFO L272 TraceCheckUtils]: 35: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,769 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,770 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,770 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:51:35,771 INFO L272 TraceCheckUtils]: 40: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:35,771 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:35,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:51:35,772 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:51:35,772 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:51:35,772 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:35,992 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:51:35,992 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:51:35,993 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:35,993 INFO L272 TraceCheckUtils]: 40: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:35,994 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:35,994 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,994 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,994 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,994 INFO L272 TraceCheckUtils]: 35: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,995 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:35,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:35,995 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:35,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:35,996 INFO L272 TraceCheckUtils]: 30: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:35,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,003 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:36,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:36,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:36,003 INFO L272 TraceCheckUtils]: 23: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:36,004 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:36,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:36,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:36,005 INFO L272 TraceCheckUtils]: 18: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:36,006 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:36,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:36,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:36,006 INFO L272 TraceCheckUtils]: 13: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:36,007 INFO L290 TraceCheckUtils]: 12: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:51:36,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:51:36,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:36,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:51:36,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:51:36,010 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 13:51:36,010 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:36,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1261919662] [2022-04-27 13:51:36,010 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:36,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530668514] [2022-04-27 13:51:36,010 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530668514] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:51:36,010 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:51:36,010 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 13:51:36,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1083755668] [2022-04-27 13:51:36,011 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:36,011 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-27 13:51:36,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:36,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:36,035 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:51:36,035 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:36,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:36,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:36,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:51:36,037 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:38,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:38,281 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-27 13:51:38,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:38,282 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-27 13:51:38,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:38,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:38,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:51:38,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:38,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:51:38,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:51:38,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:38,337 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:51:38,338 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 13:51:38,338 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:51:38,338 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:38,339 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:51:38,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 13:51:38,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-27 13:51:38,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:38,356 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:51:38,356 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:51:38,357 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:51:38,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:38,361 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:51:38,361 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:51:38,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:38,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:38,363 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:51:38,363 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:51:38,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:38,366 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:51:38,366 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:51:38,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:38,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:38,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:38,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:38,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:51:38,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-27 13:51:38,369 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-27 13:51:38,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:38,369 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-27 13:51:38,369 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:51:38,369 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:51:38,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:51:38,372 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:38,372 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:38,398 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:51:38,596 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:51:38,596 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:38,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:38,597 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-27 13:51:38,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:38,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [126694916] [2022-04-27 13:51:38,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:38,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:38,614 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:38,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [709815961] [2022-04-27 13:51:38,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:38,615 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:38,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:38,616 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:51:38,619 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:51:38,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:38,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:51:38,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:38,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:39,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:51:39,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,205 INFO L290 TraceCheckUtils]: 12: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,205 INFO L272 TraceCheckUtils]: 13: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,206 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,207 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,207 INFO L272 TraceCheckUtils]: 18: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,208 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,208 INFO L272 TraceCheckUtils]: 23: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,208 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,208 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,208 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,209 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,209 INFO L290 TraceCheckUtils]: 28: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,210 INFO L290 TraceCheckUtils]: 29: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,210 INFO L272 TraceCheckUtils]: 30: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,210 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,211 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,211 INFO L272 TraceCheckUtils]: 35: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,211 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,211 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,211 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,212 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,212 INFO L272 TraceCheckUtils]: 40: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,212 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,212 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,212 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,213 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,213 INFO L290 TraceCheckUtils]: 45: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,214 INFO L290 TraceCheckUtils]: 46: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,214 INFO L272 TraceCheckUtils]: 47: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,214 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,214 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,214 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,215 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,215 INFO L272 TraceCheckUtils]: 52: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:39,215 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:39,215 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:39,215 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:39,216 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:39,217 INFO L290 TraceCheckUtils]: 57: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:39,217 INFO L290 TraceCheckUtils]: 58: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:51:39,218 INFO L290 TraceCheckUtils]: 59: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:51:39,218 INFO L272 TraceCheckUtils]: 60: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:39,219 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:39,219 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:51:39,219 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:51:39,220 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:51:39,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:40,508 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:51:40,509 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:51:40,509 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:40,510 INFO L272 TraceCheckUtils]: 60: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:40,510 INFO L290 TraceCheckUtils]: 59: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:51:40,524 INFO L290 TraceCheckUtils]: 58: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:51:40,547 INFO L290 TraceCheckUtils]: 57: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,548 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,548 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,548 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,548 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,548 INFO L272 TraceCheckUtils]: 52: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,550 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,550 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,550 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,550 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,550 INFO L272 TraceCheckUtils]: 47: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,551 INFO L290 TraceCheckUtils]: 46: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,553 INFO L290 TraceCheckUtils]: 45: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,553 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,554 INFO L272 TraceCheckUtils]: 40: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,555 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,555 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,555 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,555 INFO L272 TraceCheckUtils]: 35: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,556 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,556 INFO L272 TraceCheckUtils]: 30: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,557 INFO L290 TraceCheckUtils]: 29: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:40,566 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,566 INFO L272 TraceCheckUtils]: 23: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,567 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,567 INFO L272 TraceCheckUtils]: 18: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,568 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,568 INFO L272 TraceCheckUtils]: 13: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:40,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:51:40,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:51:40,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:51:40,571 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:51:40,571 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:40,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [126694916] [2022-04-27 13:51:40,571 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:40,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [709815961] [2022-04-27 13:51:40,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [709815961] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:40,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:40,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:51:40,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [789370947] [2022-04-27 13:51:40,572 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:40,572 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:51:40,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:40,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:51:40,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:40,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:51:40,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:40,690 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:51:40,690 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:51:40,691 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:51:46,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,562 INFO L93 Difference]: Finished difference Result 154 states and 210 transitions. [2022-04-27 13:51:46,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:51:46,562 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:51:46,563 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:46,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:51:46,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:51:46,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:51:46,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:51:46,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2022-04-27 13:51:46,772 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:51:46,776 INFO L225 Difference]: With dead ends: 154 [2022-04-27 13:51:46,776 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 13:51:46,777 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 116 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:51:46,777 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:46,778 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 168 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 13:51:46,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 13:51:46,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 113. [2022-04-27 13:51:46,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:46,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:51:46,810 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:51:46,811 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:51:46,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,816 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:51:46,816 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:51:46,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,817 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:51:46,817 INFO L87 Difference]: Start difference. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:51:46,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,822 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:51:46,822 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:51:46,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,823 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:46,823 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:46,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:51:46,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 146 transitions. [2022-04-27 13:51:46,828 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 146 transitions. Word has length 64 [2022-04-27 13:51:46,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:46,828 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 146 transitions. [2022-04-27 13:51:46,828 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:51:46,828 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 146 transitions. [2022-04-27 13:51:46,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:51:46,829 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:46,829 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:46,858 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:51:47,055 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:51:47,056 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:47,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:47,056 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-27 13:51:47,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:47,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333218169] [2022-04-27 13:51:47,057 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:47,057 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:47,069 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:47,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [29761921] [2022-04-27 13:51:47,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:47,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:47,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:47,071 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:51:47,078 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:51:47,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:47,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:51:47,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:47,153 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:47,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:51:47,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:51:47,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,769 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:51:47,771 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,771 INFO L290 TraceCheckUtils]: 12: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,771 INFO L272 TraceCheckUtils]: 13: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,775 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,776 INFO L272 TraceCheckUtils]: 18: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,778 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,778 INFO L272 TraceCheckUtils]: 23: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,778 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,779 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,779 INFO L290 TraceCheckUtils]: 28: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,780 INFO L290 TraceCheckUtils]: 29: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,780 INFO L272 TraceCheckUtils]: 30: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,780 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,781 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,781 INFO L272 TraceCheckUtils]: 35: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,783 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,783 INFO L272 TraceCheckUtils]: 40: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,783 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,783 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,784 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,784 INFO L290 TraceCheckUtils]: 45: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,785 INFO L290 TraceCheckUtils]: 46: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,785 INFO L272 TraceCheckUtils]: 47: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,785 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,785 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,785 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,786 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,786 INFO L272 TraceCheckUtils]: 52: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,786 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:47,786 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:47,786 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:47,787 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,787 INFO L290 TraceCheckUtils]: 57: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,788 INFO L290 TraceCheckUtils]: 58: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,788 INFO L290 TraceCheckUtils]: 59: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,789 INFO L272 TraceCheckUtils]: 60: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,789 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:47,789 INFO L290 TraceCheckUtils]: 62: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:47,790 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:47,790 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,790 INFO L272 TraceCheckUtils]: 65: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:47,791 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:47,791 INFO L290 TraceCheckUtils]: 67: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:47,791 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:47,792 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #88#return; {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-27 13:51:47,793 INFO L290 TraceCheckUtils]: 70: Hoare triple {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} is VALID [2022-04-27 13:51:47,794 INFO L272 TraceCheckUtils]: 71: Hoare triple {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:47,794 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:47,794 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:51:47,794 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:51:47,795 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-27 13:51:47,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:56,763 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:51:56,763 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:51:56,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:56,765 INFO L272 TraceCheckUtils]: 71: Hoare triple {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:56,765 INFO L290 TraceCheckUtils]: 70: Hoare triple {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:51:56,766 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #88#return; {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:51:56,766 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:56,767 INFO L290 TraceCheckUtils]: 67: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:56,767 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:51:56,767 INFO L272 TraceCheckUtils]: 65: Hoare triple {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,769 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3103#true} #86#return; {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:51:56,770 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:56,770 INFO L290 TraceCheckUtils]: 62: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:51:56,770 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:51:56,770 INFO L272 TraceCheckUtils]: 60: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 59: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 58: Hoare triple {3103#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 57: Hoare triple {3103#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3103#true} #88#return; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L272 TraceCheckUtils]: 52: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3103#true} #86#return; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,771 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L272 TraceCheckUtils]: 47: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 46: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 45: Hoare triple {3103#true} assume !(~r~0 >= ~d~0); {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L272 TraceCheckUtils]: 40: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,772 INFO L272 TraceCheckUtils]: 35: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L272 TraceCheckUtils]: 30: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {3103#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L272 TraceCheckUtils]: 23: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,773 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L272 TraceCheckUtils]: 18: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L272 TraceCheckUtils]: 13: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 12: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:51:56,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:51:56,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:51:56,776 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-27 13:51:56,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:56,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333218169] [2022-04-27 13:51:56,776 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:56,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [29761921] [2022-04-27 13:51:56,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [29761921] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:56,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:56,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-27 13:51:56,776 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1225029954] [2022-04-27 13:51:56,776 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:56,777 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:51:56,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:56,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:51:56,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:56,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:51:56,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:56,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:51:56,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:51:56,850 INFO L87 Difference]: Start difference. First operand 113 states and 146 transitions. Second operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:51:57,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:57,864 INFO L93 Difference]: Finished difference Result 169 states and 219 transitions. [2022-04-27 13:51:57,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:51:57,864 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:51:57,864 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:57,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:51:57,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:51:57,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:51:57,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:51:57,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-27 13:51:57,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:57,980 INFO L225 Difference]: With dead ends: 169 [2022-04-27 13:51:57,980 INFO L226 Difference]: Without dead ends: 115 [2022-04-27 13:51:57,981 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:51:57,982 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 34 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:57,982 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 146 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:51:57,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-27 13:51:58,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 101. [2022-04-27 13:51:58,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:58,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:51:58,010 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:51:58,010 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:51:58,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:58,014 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:51:58,014 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:51:58,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:58,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:58,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:51:58,015 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:51:58,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:58,019 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:51:58,019 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:51:58,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:58,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:58,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:58,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:58,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:51:58,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 121 transitions. [2022-04-27 13:51:58,024 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 121 transitions. Word has length 75 [2022-04-27 13:51:58,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:58,024 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 121 transitions. [2022-04-27 13:51:58,024 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:51:58,024 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 121 transitions. [2022-04-27 13:51:58,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:51:58,025 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:58,025 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:58,046 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:51:58,239 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:51:58,240 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:58,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:58,240 INFO L85 PathProgramCache]: Analyzing trace with hash 1204093031, now seen corresponding path program 1 times [2022-04-27 13:51:58,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:58,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2129480404] [2022-04-27 13:51:58,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:58,240 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:58,255 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:58,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1620513964] [2022-04-27 13:51:58,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:58,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:58,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:58,264 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:51:58,268 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:51:58,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:58,305 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:51:58,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:58,319 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:00,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {4187#true} call ULTIMATE.init(); {4187#true} is VALID [2022-04-27 13:52:00,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {4187#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(8, 2);call #Ultimate.allocInit(12, 3); {4187#true} is VALID [2022-04-27 13:52:00,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4187#true} {4187#true} #94#return; {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L272 TraceCheckUtils]: 4: Hoare triple {4187#true} call #t~ret5 := main(); {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L290 TraceCheckUtils]: 5: Hoare triple {4187#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L272 TraceCheckUtils]: 6: Hoare triple {4187#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4187#true} {4187#true} #78#return; {4187#true} is VALID [2022-04-27 13:52:00,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {4187#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:00,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {4225#(<= 1 main_~p~0)} assume !false; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:00,176 INFO L272 TraceCheckUtils]: 13: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,176 INFO L290 TraceCheckUtils]: 16: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,177 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #80#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:00,177 INFO L272 TraceCheckUtils]: 18: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,177 INFO L290 TraceCheckUtils]: 21: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,177 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #82#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:00,178 INFO L272 TraceCheckUtils]: 23: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,178 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #84#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:00,179 INFO L290 TraceCheckUtils]: 28: Hoare triple {4225#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:52:00,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !false; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:52:00,179 INFO L272 TraceCheckUtils]: 30: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,179 INFO L290 TraceCheckUtils]: 32: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,180 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #80#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:52:00,180 INFO L272 TraceCheckUtils]: 35: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,180 INFO L290 TraceCheckUtils]: 36: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,180 INFO L290 TraceCheckUtils]: 37: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,186 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #82#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:52:00,186 INFO L272 TraceCheckUtils]: 40: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,186 INFO L290 TraceCheckUtils]: 41: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,187 INFO L290 TraceCheckUtils]: 42: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,187 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #84#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:52:00,188 INFO L290 TraceCheckUtils]: 45: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,188 INFO L290 TraceCheckUtils]: 46: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,188 INFO L272 TraceCheckUtils]: 47: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,188 INFO L290 TraceCheckUtils]: 48: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,188 INFO L290 TraceCheckUtils]: 49: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,189 INFO L290 TraceCheckUtils]: 50: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,189 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,189 INFO L272 TraceCheckUtils]: 52: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,189 INFO L290 TraceCheckUtils]: 53: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,189 INFO L290 TraceCheckUtils]: 54: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,189 INFO L290 TraceCheckUtils]: 55: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,190 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,190 INFO L272 TraceCheckUtils]: 57: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,190 INFO L290 TraceCheckUtils]: 58: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,190 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,191 INFO L290 TraceCheckUtils]: 62: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,191 INFO L290 TraceCheckUtils]: 63: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,191 INFO L272 TraceCheckUtils]: 64: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,191 INFO L290 TraceCheckUtils]: 65: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,191 INFO L290 TraceCheckUtils]: 66: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,191 INFO L290 TraceCheckUtils]: 67: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,191 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,192 INFO L272 TraceCheckUtils]: 69: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:00,192 INFO L290 TraceCheckUtils]: 70: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:00,192 INFO L290 TraceCheckUtils]: 71: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:00,192 INFO L290 TraceCheckUtils]: 72: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:00,192 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:52:00,192 INFO L290 TraceCheckUtils]: 74: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {4188#false} is VALID [2022-04-27 13:52:00,192 INFO L272 TraceCheckUtils]: 75: Hoare triple {4188#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 76: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 77: Hoare triple {4188#false} assume !(0 == ~cond); {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 78: Hoare triple {4188#false} assume true; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4188#false} {4188#false} #90#return; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L272 TraceCheckUtils]: 80: Hoare triple {4188#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 81: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 82: Hoare triple {4188#false} assume 0 == ~cond; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L290 TraceCheckUtils]: 83: Hoare triple {4188#false} assume !false; {4188#false} is VALID [2022-04-27 13:52:00,193 INFO L134 CoverageAnalysis]: Checked inductivity of 303 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:52:00,193 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:52:00,193 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:00,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2129480404] [2022-04-27 13:52:00,194 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:00,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1620513964] [2022-04-27 13:52:00,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1620513964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:52:00,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:52:00,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:52:00,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2031906544] [2022-04-27 13:52:00,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:52:00,195 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:52:00,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:00,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:52:00,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:00,235 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:52:00,235 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:00,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:52:00,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:52:00,236 INFO L87 Difference]: Start difference. First operand 101 states and 121 transitions. Second operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:52:00,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:00,420 INFO L93 Difference]: Finished difference Result 115 states and 136 transitions. [2022-04-27 13:52:00,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:52:00,421 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:52:00,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:00,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:52:00,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:52:00,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:52:00,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:52:00,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:52:00,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:00,505 INFO L225 Difference]: With dead ends: 115 [2022-04-27 13:52:00,505 INFO L226 Difference]: Without dead ends: 103 [2022-04-27 13:52:00,505 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:52:00,506 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 9 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:52:00,506 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 106 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:52:00,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-27 13:52:00,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-27 13:52:00,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:00,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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:52:00,549 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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:52:00,549 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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:52:00,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:00,552 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:52:00,552 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:00,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:00,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:00,553 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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 103 states. [2022-04-27 13:52:00,553 INFO L87 Difference]: Start difference. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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 103 states. [2022-04-27 13:52:00,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:00,556 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:52:00,556 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:00,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:00,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:00,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:00,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:00,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 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:52:00,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-27 13:52:00,560 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 84 [2022-04-27 13:52:00,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:00,560 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-27 13:52:00,561 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:52:00,561 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:00,561 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:52:00,561 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:52:00,562 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:52:00,585 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 13:52:00,775 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:52:00,776 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:52:00,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:52:00,776 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 2 times [2022-04-27 13:52:00,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:52:00,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1326437557] [2022-04-27 13:52:00,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:00,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:52:00,806 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:52:00,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1789819053] [2022-04-27 13:52:00,806 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:52:00,806 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:52:00,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:52:00,807 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:52:00,811 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:52:00,881 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:52:00,881 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:52:00,883 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 13:52:00,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:00,900 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:01,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {4957#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(8, 2);call #Ultimate.allocInit(12, 3); {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {4957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,661 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4957#true} {4957#true} #78#return; {4957#true} is VALID [2022-04-27 13:52:01,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {4957#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,662 INFO L272 TraceCheckUtils]: 13: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,663 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,663 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,663 INFO L272 TraceCheckUtils]: 18: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,664 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,664 INFO L272 TraceCheckUtils]: 23: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,665 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,666 INFO L290 TraceCheckUtils]: 28: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,667 INFO L290 TraceCheckUtils]: 29: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,667 INFO L272 TraceCheckUtils]: 30: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,667 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,668 INFO L272 TraceCheckUtils]: 35: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,668 INFO L272 TraceCheckUtils]: 40: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,669 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,670 INFO L290 TraceCheckUtils]: 46: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,670 INFO L272 TraceCheckUtils]: 47: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,670 INFO L290 TraceCheckUtils]: 48: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,670 INFO L290 TraceCheckUtils]: 49: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,670 INFO L290 TraceCheckUtils]: 50: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,671 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,671 INFO L272 TraceCheckUtils]: 52: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,671 INFO L290 TraceCheckUtils]: 53: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,671 INFO L290 TraceCheckUtils]: 54: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,671 INFO L290 TraceCheckUtils]: 55: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,671 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,672 INFO L272 TraceCheckUtils]: 57: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,672 INFO L290 TraceCheckUtils]: 58: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,672 INFO L290 TraceCheckUtils]: 59: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,672 INFO L290 TraceCheckUtils]: 60: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,673 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,673 INFO L290 TraceCheckUtils]: 62: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,673 INFO L290 TraceCheckUtils]: 63: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,674 INFO L272 TraceCheckUtils]: 64: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,674 INFO L290 TraceCheckUtils]: 65: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,674 INFO L290 TraceCheckUtils]: 66: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,674 INFO L290 TraceCheckUtils]: 67: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,674 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,675 INFO L272 TraceCheckUtils]: 69: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,675 INFO L290 TraceCheckUtils]: 70: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,675 INFO L290 TraceCheckUtils]: 71: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,675 INFO L290 TraceCheckUtils]: 72: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,675 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:52:01,676 INFO L290 TraceCheckUtils]: 74: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,676 INFO L290 TraceCheckUtils]: 75: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,677 INFO L290 TraceCheckUtils]: 76: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !false; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,677 INFO L272 TraceCheckUtils]: 77: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,677 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,677 INFO L290 TraceCheckUtils]: 79: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,677 INFO L290 TraceCheckUtils]: 80: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,678 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4957#true} {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #86#return; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,678 INFO L272 TraceCheckUtils]: 82: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:01,678 INFO L290 TraceCheckUtils]: 83: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:01,678 INFO L290 TraceCheckUtils]: 84: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:01,678 INFO L290 TraceCheckUtils]: 85: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:01,679 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4957#true} {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #88#return; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,680 INFO L290 TraceCheckUtils]: 87: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5227#(and (= main_~q~0 2) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:52:01,681 INFO L290 TraceCheckUtils]: 88: Hoare triple {5227#(and (= main_~q~0 2) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,681 INFO L290 TraceCheckUtils]: 89: Hoare triple {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !false; {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:52:01,682 INFO L272 TraceCheckUtils]: 90: Hoare triple {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:52:01,682 INFO L290 TraceCheckUtils]: 91: Hoare triple {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:01,682 INFO L290 TraceCheckUtils]: 92: Hoare triple {5242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:52:01,682 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:52:01,683 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:52:01,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:52:26,485 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:52:26,485 INFO L290 TraceCheckUtils]: 92: Hoare triple {5242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:52:26,486 INFO L290 TraceCheckUtils]: 91: Hoare triple {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:26,486 INFO L272 TraceCheckUtils]: 90: Hoare triple {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:52:26,487 INFO L290 TraceCheckUtils]: 89: Hoare triple {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:52:26,505 INFO L290 TraceCheckUtils]: 88: Hoare triple {5265#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:52:26,528 INFO L290 TraceCheckUtils]: 87: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5265#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:52:26,529 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4957#true} {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:52:26,529 INFO L290 TraceCheckUtils]: 85: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,529 INFO L290 TraceCheckUtils]: 84: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,529 INFO L290 TraceCheckUtils]: 83: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,529 INFO L272 TraceCheckUtils]: 82: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,529 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4957#true} {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:52:26,529 INFO L290 TraceCheckUtils]: 80: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,530 INFO L290 TraceCheckUtils]: 79: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,530 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,530 INFO L272 TraceCheckUtils]: 77: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,531 INFO L290 TraceCheckUtils]: 76: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:52:26,558 INFO L290 TraceCheckUtils]: 75: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:52:26,925 INFO L290 TraceCheckUtils]: 74: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< 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); {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:26,926 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #88#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,926 INFO L290 TraceCheckUtils]: 72: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,926 INFO L290 TraceCheckUtils]: 71: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,926 INFO L290 TraceCheckUtils]: 70: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,926 INFO L272 TraceCheckUtils]: 69: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,928 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #86#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,928 INFO L290 TraceCheckUtils]: 67: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,928 INFO L290 TraceCheckUtils]: 66: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,928 INFO L290 TraceCheckUtils]: 65: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,928 INFO L272 TraceCheckUtils]: 64: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,933 INFO L290 TraceCheckUtils]: 63: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,936 INFO L290 TraceCheckUtils]: 62: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,937 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,937 INFO L290 TraceCheckUtils]: 60: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,937 INFO L290 TraceCheckUtils]: 59: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,938 INFO L290 TraceCheckUtils]: 58: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,938 INFO L272 TraceCheckUtils]: 57: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,939 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,939 INFO L290 TraceCheckUtils]: 55: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,939 INFO L290 TraceCheckUtils]: 54: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,939 INFO L290 TraceCheckUtils]: 53: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,939 INFO L272 TraceCheckUtils]: 52: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,941 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:26,941 INFO L290 TraceCheckUtils]: 50: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:26,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:26,941 INFO L290 TraceCheckUtils]: 48: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:26,941 INFO L272 TraceCheckUtils]: 47: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:26,946 INFO L290 TraceCheckUtils]: 46: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:27,061 INFO L290 TraceCheckUtils]: 45: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:52:27,062 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #84#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:27,062 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,062 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,062 INFO L272 TraceCheckUtils]: 40: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,063 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #82#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:27,063 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,063 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,063 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,063 INFO L272 TraceCheckUtils]: 35: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,064 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:27,064 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,064 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,064 INFO L272 TraceCheckUtils]: 30: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,066 INFO L290 TraceCheckUtils]: 29: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:27,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:27,097 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #84#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:52:27,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,097 INFO L272 TraceCheckUtils]: 23: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,097 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L272 TraceCheckUtils]: 18: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,098 INFO L272 TraceCheckUtils]: 13: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !false; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {4957#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:52:27,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4957#true} {4957#true} #78#return; {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {4957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4957#true} is VALID [2022-04-27 13:52:27,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:52:27,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:52:27,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:27,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {4957#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(8, 2);call #Ultimate.allocInit(12, 3); {4957#true} is VALID [2022-04-27 13:52:27,100 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:52:27,101 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:52:27,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:27,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1326437557] [2022-04-27 13:52:27,101 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:27,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1789819053] [2022-04-27 13:52:27,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1789819053] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:52:27,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:52:27,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:52:27,102 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1229157085] [2022-04-27 13:52:27,102 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:52:27,103 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 94 [2022-04-27 13:52:27,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:27,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:52:27,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:27,803 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:52:27,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:27,804 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:52:27,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-27 13:52:27,807 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:52:41,567 WARN L232 SmtUtils]: Spent 11.65s on a formula simplification. DAG size of input: 192 DAG size of output: 88 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:53:01,293 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:53:06,565 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:53:06,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:06,599 INFO L93 Difference]: Finished difference Result 228 states and 305 transitions. [2022-04-27 13:53:06,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:53:06,599 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 94 [2022-04-27 13:53:06,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:53:06,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:53:06,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 183 transitions. [2022-04-27 13:53:06,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:53:06,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 183 transitions. [2022-04-27 13:53:06,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 183 transitions. [2022-04-27 13:53:07,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:53:07,927 INFO L225 Difference]: With dead ends: 228 [2022-04-27 13:53:07,927 INFO L226 Difference]: Without dead ends: 177 [2022-04-27 13:53:07,927 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 192 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 22.2s TimeCoverageRelationStatistics Valid=114, Invalid=305, Unknown=1, NotChecked=0, Total=420 [2022-04-27 13:53:07,928 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 89 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 805 mSolverCounterSat, 204 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 100 SdHoareTripleChecker+Valid, 320 SdHoareTripleChecker+Invalid, 1011 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 204 IncrementalHoareTripleChecker+Valid, 805 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:53:07,929 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [100 Valid, 320 Invalid, 1011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [204 Valid, 805 Invalid, 2 Unknown, 0 Unchecked, 11.5s Time] [2022-04-27 13:53:07,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-27 13:53:08,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 166. [2022-04-27 13:53:08,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:53:08,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:53:08,022 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:53:08,022 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:53:08,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:08,027 INFO L93 Difference]: Finished difference Result 177 states and 235 transitions. [2022-04-27 13:53:08,027 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 235 transitions. [2022-04-27 13:53:08,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:08,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:08,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) Second operand 177 states. [2022-04-27 13:53:08,029 INFO L87 Difference]: Start difference. First operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) Second operand 177 states. [2022-04-27 13:53:08,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:08,034 INFO L93 Difference]: Finished difference Result 177 states and 235 transitions. [2022-04-27 13:53:08,035 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 235 transitions. [2022-04-27 13:53:08,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:08,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:08,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:53:08,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:53:08,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:53:08,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 217 transitions. [2022-04-27 13:53:08,040 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 217 transitions. Word has length 94 [2022-04-27 13:53:08,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:53:08,042 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 217 transitions. [2022-04-27 13:53:08,043 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:53:08,043 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 217 transitions. [2022-04-27 13:53:08,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-27 13:53:08,048 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:53:08,048 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 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:53:08,075 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:53:08,267 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:53:08,267 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:53:08,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:53:08,268 INFO L85 PathProgramCache]: Analyzing trace with hash 1319164935, now seen corresponding path program 1 times [2022-04-27 13:53:08,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:53:08,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231346197] [2022-04-27 13:53:08,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:53:08,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:53:08,284 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:53:08,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [43230922] [2022-04-27 13:53:08,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:53:08,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:53:08,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:53:08,291 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:53:08,315 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:53:08,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:53:08,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:53:08,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:53:08,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:53:08,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {6463#true} call ULTIMATE.init(); {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {6463#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(8, 2);call #Ultimate.allocInit(12, 3); {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6463#true} {6463#true} #94#return; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {6463#true} call #t~ret5 := main(); {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {6463#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L272 TraceCheckUtils]: 6: Hoare triple {6463#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6463#true} {6463#true} #78#return; {6463#true} is VALID [2022-04-27 13:53:08,839 INFO L290 TraceCheckUtils]: 11: Hoare triple {6463#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 12: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,840 INFO L272 TraceCheckUtils]: 13: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 15: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 16: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #80#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,840 INFO L272 TraceCheckUtils]: 18: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,841 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #82#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,841 INFO L272 TraceCheckUtils]: 23: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,841 INFO L290 TraceCheckUtils]: 24: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,841 INFO L290 TraceCheckUtils]: 25: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,841 INFO L290 TraceCheckUtils]: 26: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,842 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #84#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,842 INFO L290 TraceCheckUtils]: 28: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,842 INFO L290 TraceCheckUtils]: 29: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,842 INFO L272 TraceCheckUtils]: 30: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,843 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #80#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,843 INFO L272 TraceCheckUtils]: 35: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,844 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #82#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,844 INFO L272 TraceCheckUtils]: 40: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,844 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #84#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,845 INFO L290 TraceCheckUtils]: 46: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,845 INFO L272 TraceCheckUtils]: 47: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,845 INFO L290 TraceCheckUtils]: 48: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,845 INFO L290 TraceCheckUtils]: 49: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,845 INFO L290 TraceCheckUtils]: 50: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,846 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #80#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,846 INFO L272 TraceCheckUtils]: 52: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,846 INFO L290 TraceCheckUtils]: 53: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,846 INFO L290 TraceCheckUtils]: 54: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,846 INFO L290 TraceCheckUtils]: 55: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,847 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #82#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,847 INFO L272 TraceCheckUtils]: 57: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,847 INFO L290 TraceCheckUtils]: 58: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,847 INFO L290 TraceCheckUtils]: 59: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,847 INFO L290 TraceCheckUtils]: 60: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,848 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #84#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,848 INFO L290 TraceCheckUtils]: 62: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !(~r~0 >= ~d~0); {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,849 INFO L290 TraceCheckUtils]: 63: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,849 INFO L272 TraceCheckUtils]: 64: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,849 INFO L290 TraceCheckUtils]: 65: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,849 INFO L290 TraceCheckUtils]: 66: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,849 INFO L290 TraceCheckUtils]: 67: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,849 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #86#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,850 INFO L272 TraceCheckUtils]: 69: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,850 INFO L290 TraceCheckUtils]: 70: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,850 INFO L290 TraceCheckUtils]: 71: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,850 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #88#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:53:08,851 INFO L290 TraceCheckUtils]: 74: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,852 INFO L290 TraceCheckUtils]: 75: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,852 INFO L290 TraceCheckUtils]: 76: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,852 INFO L272 TraceCheckUtils]: 77: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,852 INFO L290 TraceCheckUtils]: 78: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,852 INFO L290 TraceCheckUtils]: 79: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,852 INFO L290 TraceCheckUtils]: 80: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,853 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #86#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,853 INFO L272 TraceCheckUtils]: 82: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,853 INFO L290 TraceCheckUtils]: 83: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,853 INFO L290 TraceCheckUtils]: 84: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,853 INFO L290 TraceCheckUtils]: 85: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,854 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #88#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:53:08,855 INFO L290 TraceCheckUtils]: 87: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) 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); {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,855 INFO L290 TraceCheckUtils]: 88: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,856 INFO L290 TraceCheckUtils]: 89: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,856 INFO L272 TraceCheckUtils]: 90: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,856 INFO L290 TraceCheckUtils]: 91: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,856 INFO L290 TraceCheckUtils]: 92: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,856 INFO L290 TraceCheckUtils]: 93: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,857 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #86#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,857 INFO L272 TraceCheckUtils]: 95: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,857 INFO L290 TraceCheckUtils]: 96: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,857 INFO L290 TraceCheckUtils]: 97: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,857 INFO L290 TraceCheckUtils]: 98: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,857 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #88#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,858 INFO L290 TraceCheckUtils]: 100: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,858 INFO L272 TraceCheckUtils]: 101: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:08,858 INFO L290 TraceCheckUtils]: 102: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:08,858 INFO L290 TraceCheckUtils]: 103: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:08,858 INFO L290 TraceCheckUtils]: 104: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:08,859 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #90#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:53:08,859 INFO L272 TraceCheckUtils]: 106: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:53:08,860 INFO L290 TraceCheckUtils]: 107: Hoare triple {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:53:08,860 INFO L290 TraceCheckUtils]: 108: Hoare triple {6793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6464#false} is VALID [2022-04-27 13:53:08,860 INFO L290 TraceCheckUtils]: 109: Hoare triple {6464#false} assume !false; {6464#false} is VALID [2022-04-27 13:53:08,860 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:53:08,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:53:09,944 INFO L290 TraceCheckUtils]: 109: Hoare triple {6464#false} assume !false; {6464#false} is VALID [2022-04-27 13:53:09,945 INFO L290 TraceCheckUtils]: 108: Hoare triple {6793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6464#false} is VALID [2022-04-27 13:53:09,945 INFO L290 TraceCheckUtils]: 107: Hoare triple {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:53:09,946 INFO L272 TraceCheckUtils]: 106: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:53:09,946 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #90#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,947 INFO L290 TraceCheckUtils]: 104: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,947 INFO L290 TraceCheckUtils]: 103: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,947 INFO L290 TraceCheckUtils]: 102: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,947 INFO L272 TraceCheckUtils]: 101: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,947 INFO L290 TraceCheckUtils]: 100: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !(1 != ~p~0); {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,948 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #88#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,948 INFO L290 TraceCheckUtils]: 98: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,948 INFO L290 TraceCheckUtils]: 97: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,948 INFO L290 TraceCheckUtils]: 96: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,948 INFO L272 TraceCheckUtils]: 95: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,949 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #86#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,949 INFO L290 TraceCheckUtils]: 93: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,949 INFO L290 TraceCheckUtils]: 92: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,949 INFO L290 TraceCheckUtils]: 91: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,949 INFO L272 TraceCheckUtils]: 90: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,949 INFO L290 TraceCheckUtils]: 89: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !false; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,950 INFO L290 TraceCheckUtils]: 88: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,951 INFO L290 TraceCheckUtils]: 87: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~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); {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,952 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,952 INFO L290 TraceCheckUtils]: 85: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,952 INFO L290 TraceCheckUtils]: 84: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,952 INFO L290 TraceCheckUtils]: 83: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,955 INFO L272 TraceCheckUtils]: 82: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,955 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,956 INFO L290 TraceCheckUtils]: 80: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,956 INFO L290 TraceCheckUtils]: 79: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,956 INFO L290 TraceCheckUtils]: 78: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,956 INFO L272 TraceCheckUtils]: 77: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,956 INFO L290 TraceCheckUtils]: 76: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,957 INFO L290 TraceCheckUtils]: 75: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,959 INFO L290 TraceCheckUtils]: 74: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (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); {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,960 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 72: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 71: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 70: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L272 TraceCheckUtils]: 69: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 67: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 66: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,960 INFO L290 TraceCheckUtils]: 65: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,961 INFO L272 TraceCheckUtils]: 64: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,961 INFO L290 TraceCheckUtils]: 63: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,962 INFO L290 TraceCheckUtils]: 62: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,963 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 60: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 59: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 58: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L272 TraceCheckUtils]: 57: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 55: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 54: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,963 INFO L290 TraceCheckUtils]: 53: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,964 INFO L272 TraceCheckUtils]: 52: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,970 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,970 INFO L290 TraceCheckUtils]: 49: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,970 INFO L272 TraceCheckUtils]: 47: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,972 INFO L290 TraceCheckUtils]: 46: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,974 INFO L290 TraceCheckUtils]: 45: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,974 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,974 INFO L290 TraceCheckUtils]: 42: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,974 INFO L290 TraceCheckUtils]: 41: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,974 INFO L272 TraceCheckUtils]: 40: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L272 TraceCheckUtils]: 35: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,975 INFO L272 TraceCheckUtils]: 30: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,977 INFO L290 TraceCheckUtils]: 28: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:53:09,977 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #84#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,977 INFO L272 TraceCheckUtils]: 23: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #82#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 20: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 19: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L272 TraceCheckUtils]: 18: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #80#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 16: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,978 INFO L272 TraceCheckUtils]: 13: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !false; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {6463#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:53:09,979 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6463#true} {6463#true} #78#return; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 8: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L272 TraceCheckUtils]: 6: Hoare triple {6463#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {6463#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {6463#true} call #t~ret5 := main(); {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6463#true} {6463#true} #94#return; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {6463#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(8, 2);call #Ultimate.allocInit(12, 3); {6463#true} is VALID [2022-04-27 13:53:09,979 INFO L272 TraceCheckUtils]: 0: Hoare triple {6463#true} call ULTIMATE.init(); {6463#true} is VALID [2022-04-27 13:53:09,980 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:53:09,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:53:09,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231346197] [2022-04-27 13:53:09,980 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:53:09,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [43230922] [2022-04-27 13:53:09,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [43230922] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:53:09,980 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:53:09,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:53:09,980 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2080574522] [2022-04-27 13:53:09,981 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:53:09,981 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) Word has length 110 [2022-04-27 13:53:09,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:53:09,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:53:10,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:53:10,081 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:53:10,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:53:10,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:53:10,082 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:53:10,082 INFO L87 Difference]: Start difference. First operand 166 states and 217 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:53:11,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:11,182 INFO L93 Difference]: Finished difference Result 182 states and 239 transitions. [2022-04-27 13:53:11,183 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:53:11,183 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) Word has length 110 [2022-04-27 13:53:11,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:53:11,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:53:11,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-27 13:53:11,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:53:11,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-27 13:53:11,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2022-04-27 13:53:11,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:53:11,283 INFO L225 Difference]: With dead ends: 182 [2022-04-27 13:53:11,283 INFO L226 Difference]: Without dead ends: 174 [2022-04-27 13:53:11,283 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 220 GetRequests, 207 SyntacticMatches, 4 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:53:11,284 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 6 mSDsluCounter, 227 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:53:11,284 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 291 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:53:11,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-27 13:53:11,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 174. [2022-04-27 13:53:11,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:53:11,391 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:53:11,391 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:53:11,392 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:53:11,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:11,396 INFO L93 Difference]: Finished difference Result 174 states and 229 transitions. [2022-04-27 13:53:11,396 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:53:11,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:11,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:11,397 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) Second operand 174 states. [2022-04-27 13:53:11,398 INFO L87 Difference]: Start difference. First operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) Second operand 174 states. [2022-04-27 13:53:11,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:11,402 INFO L93 Difference]: Finished difference Result 174 states and 229 transitions. [2022-04-27 13:53:11,402 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:53:11,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:11,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:11,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:53:11,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:53:11,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:53:11,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 229 transitions. [2022-04-27 13:53:11,408 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 229 transitions. Word has length 110 [2022-04-27 13:53:11,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:53:11,408 INFO L495 AbstractCegarLoop]: Abstraction has 174 states and 229 transitions. [2022-04-27 13:53:11,409 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:53:11,409 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:53:11,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-27 13:53:11,410 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:53:11,410 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:53:11,434 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:53:11,632 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:53:11,632 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:53:11,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:53:11,632 INFO L85 PathProgramCache]: Analyzing trace with hash -113269864, now seen corresponding path program 2 times [2022-04-27 13:53:11,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:53:11,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [286818772] [2022-04-27 13:53:11,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:53:11,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:53:11,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:53:11,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2139451251] [2022-04-27 13:53:11,660 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:53:11,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:53:11,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:53:11,661 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:53:11,663 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:53:11,725 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:53:11,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:53:11,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:53:11,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:53:11,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:53:11,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {7989#true} call ULTIMATE.init(); {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {7989#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(8, 2);call #Ultimate.allocInit(12, 3); {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7989#true} {7989#true} #94#return; {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {7989#true} call #t~ret5 := main(); {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {7989#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {7989#true} is VALID [2022-04-27 13:53:11,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {7989#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7989#true} {7989#true} #78#return; {7989#true} is VALID [2022-04-27 13:53:11,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {7989#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {8027#(= main_~p~0 1)} assume !false; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,979 INFO L272 TraceCheckUtils]: 13: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #80#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,980 INFO L272 TraceCheckUtils]: 18: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #82#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,980 INFO L272 TraceCheckUtils]: 23: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,981 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #84#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,981 INFO L290 TraceCheckUtils]: 28: Hoare triple {8027#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {8079#(= main_~p~0 2)} assume !false; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,981 INFO L272 TraceCheckUtils]: 30: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L290 TraceCheckUtils]: 33: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #80#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,982 INFO L272 TraceCheckUtils]: 35: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L290 TraceCheckUtils]: 36: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L290 TraceCheckUtils]: 37: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L290 TraceCheckUtils]: 38: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,982 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #82#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,983 INFO L272 TraceCheckUtils]: 40: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,983 INFO L290 TraceCheckUtils]: 41: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,983 INFO L290 TraceCheckUtils]: 42: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,983 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,983 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #84#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {8079#(= main_~p~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 46: Hoare triple {8131#(= main_~p~0 4)} assume !false; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,984 INFO L272 TraceCheckUtils]: 47: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 48: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 49: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 50: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #80#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,984 INFO L272 TraceCheckUtils]: 52: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 53: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 54: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,984 INFO L290 TraceCheckUtils]: 55: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,985 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #82#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,985 INFO L272 TraceCheckUtils]: 57: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,985 INFO L290 TraceCheckUtils]: 58: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,985 INFO L290 TraceCheckUtils]: 59: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,985 INFO L290 TraceCheckUtils]: 60: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,985 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #84#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,986 INFO L290 TraceCheckUtils]: 62: Hoare triple {8131#(= main_~p~0 4)} assume !(~r~0 >= ~d~0); {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,986 INFO L290 TraceCheckUtils]: 63: Hoare triple {8131#(= main_~p~0 4)} assume !false; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,986 INFO L272 TraceCheckUtils]: 64: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,986 INFO L290 TraceCheckUtils]: 65: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,986 INFO L290 TraceCheckUtils]: 66: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,986 INFO L290 TraceCheckUtils]: 67: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,987 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #86#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,987 INFO L272 TraceCheckUtils]: 69: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,987 INFO L290 TraceCheckUtils]: 70: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,987 INFO L290 TraceCheckUtils]: 71: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,987 INFO L290 TraceCheckUtils]: 72: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,988 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #88#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:53:11,988 INFO L290 TraceCheckUtils]: 74: Hoare triple {8131#(= main_~p~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,988 INFO L290 TraceCheckUtils]: 75: Hoare triple {8079#(= main_~p~0 2)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,988 INFO L290 TraceCheckUtils]: 76: Hoare triple {8079#(= main_~p~0 2)} assume !false; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,989 INFO L272 TraceCheckUtils]: 77: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 78: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 79: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 80: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #86#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,989 INFO L272 TraceCheckUtils]: 82: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 83: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 84: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,989 INFO L290 TraceCheckUtils]: 85: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,990 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #88#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:53:11,990 INFO L290 TraceCheckUtils]: 87: Hoare triple {8079#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,990 INFO L290 TraceCheckUtils]: 88: Hoare triple {8027#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 89: Hoare triple {8027#(= main_~p~0 1)} assume !false; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,991 INFO L272 TraceCheckUtils]: 90: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 91: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 92: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 93: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #86#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,991 INFO L272 TraceCheckUtils]: 95: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 96: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 97: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,991 INFO L290 TraceCheckUtils]: 98: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,992 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #88#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:53:11,992 INFO L290 TraceCheckUtils]: 100: Hoare triple {8027#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:11,992 INFO L290 TraceCheckUtils]: 101: Hoare triple {8297#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 102: Hoare triple {8297#(<= main_~p~0 0)} assume !false; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:11,993 INFO L272 TraceCheckUtils]: 103: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 104: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 105: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 106: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #86#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:11,993 INFO L272 TraceCheckUtils]: 108: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 109: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 110: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:11,993 INFO L290 TraceCheckUtils]: 111: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:11,999 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #88#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 113: Hoare triple {8297#(<= main_~p~0 0)} assume !(1 != ~p~0); {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L272 TraceCheckUtils]: 114: Hoare triple {7990#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 115: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 116: Hoare triple {7990#false} assume !(0 == ~cond); {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 117: Hoare triple {7990#false} assume true; {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {7990#false} {7990#false} #90#return; {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L272 TraceCheckUtils]: 119: Hoare triple {7990#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 120: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 121: Hoare triple {7990#false} assume 0 == ~cond; {7990#false} is VALID [2022-04-27 13:53:12,000 INFO L290 TraceCheckUtils]: 122: Hoare triple {7990#false} assume !false; {7990#false} is VALID [2022-04-27 13:53:12,001 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 102 proven. 42 refuted. 0 times theorem prover too weak. 546 trivial. 0 not checked. [2022-04-27 13:53:12,001 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:53:12,808 INFO L290 TraceCheckUtils]: 122: Hoare triple {7990#false} assume !false; {7990#false} is VALID [2022-04-27 13:53:12,808 INFO L290 TraceCheckUtils]: 121: Hoare triple {7990#false} assume 0 == ~cond; {7990#false} is VALID [2022-04-27 13:53:12,808 INFO L290 TraceCheckUtils]: 120: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:53:12,808 INFO L272 TraceCheckUtils]: 119: Hoare triple {7990#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:53:12,808 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {7989#true} {7990#false} #90#return; {7990#false} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 117: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 116: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 115: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,809 INFO L272 TraceCheckUtils]: 114: Hoare triple {7990#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 113: Hoare triple {8297#(<= main_~p~0 0)} assume !(1 != ~p~0); {7990#false} is VALID [2022-04-27 13:53:12,809 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #88#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 111: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,809 INFO L290 TraceCheckUtils]: 110: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L290 TraceCheckUtils]: 109: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L272 TraceCheckUtils]: 108: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #86#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,810 INFO L290 TraceCheckUtils]: 106: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L290 TraceCheckUtils]: 105: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L290 TraceCheckUtils]: 104: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L272 TraceCheckUtils]: 103: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,810 INFO L290 TraceCheckUtils]: 102: Hoare triple {8297#(<= main_~p~0 0)} assume !false; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,811 INFO L290 TraceCheckUtils]: 101: Hoare triple {8297#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,812 INFO L290 TraceCheckUtils]: 100: Hoare triple {8430#(<= (div 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); {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:53:12,812 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #88#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,812 INFO L290 TraceCheckUtils]: 98: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,812 INFO L290 TraceCheckUtils]: 97: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,812 INFO L290 TraceCheckUtils]: 96: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,812 INFO L272 TraceCheckUtils]: 95: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,813 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #86#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,813 INFO L290 TraceCheckUtils]: 93: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,813 INFO L290 TraceCheckUtils]: 92: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,813 INFO L290 TraceCheckUtils]: 91: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,813 INFO L272 TraceCheckUtils]: 90: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,813 INFO L290 TraceCheckUtils]: 89: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !false; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,813 INFO L290 TraceCheckUtils]: 88: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,814 INFO L290 TraceCheckUtils]: 87: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,815 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #88#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 85: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 84: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 83: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L272 TraceCheckUtils]: 82: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #86#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 80: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L290 TraceCheckUtils]: 78: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,815 INFO L272 TraceCheckUtils]: 77: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,816 INFO L290 TraceCheckUtils]: 76: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,816 INFO L290 TraceCheckUtils]: 75: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,817 INFO L290 TraceCheckUtils]: 74: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 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); {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,817 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #88#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,817 INFO L290 TraceCheckUtils]: 72: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,817 INFO L290 TraceCheckUtils]: 71: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L290 TraceCheckUtils]: 70: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L272 TraceCheckUtils]: 69: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #86#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,818 INFO L290 TraceCheckUtils]: 67: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L290 TraceCheckUtils]: 66: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L290 TraceCheckUtils]: 65: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L272 TraceCheckUtils]: 64: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,818 INFO L290 TraceCheckUtils]: 63: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,819 INFO L290 TraceCheckUtils]: 62: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !(~r~0 >= ~d~0); {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,819 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #84#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,819 INFO L290 TraceCheckUtils]: 60: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,819 INFO L290 TraceCheckUtils]: 59: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,819 INFO L290 TraceCheckUtils]: 58: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,819 INFO L272 TraceCheckUtils]: 57: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,820 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #82#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,820 INFO L290 TraceCheckUtils]: 55: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,820 INFO L290 TraceCheckUtils]: 54: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,820 INFO L290 TraceCheckUtils]: 53: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,820 INFO L272 TraceCheckUtils]: 52: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,821 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #80#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,821 INFO L290 TraceCheckUtils]: 50: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,821 INFO L290 TraceCheckUtils]: 49: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,821 INFO L290 TraceCheckUtils]: 48: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,821 INFO L272 TraceCheckUtils]: 47: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,821 INFO L290 TraceCheckUtils]: 46: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,822 INFO L290 TraceCheckUtils]: 45: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:53:12,822 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #84#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,822 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,822 INFO L290 TraceCheckUtils]: 41: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,823 INFO L272 TraceCheckUtils]: 40: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,823 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #82#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,823 INFO L290 TraceCheckUtils]: 38: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,823 INFO L290 TraceCheckUtils]: 37: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,823 INFO L290 TraceCheckUtils]: 36: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,823 INFO L272 TraceCheckUtils]: 35: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,834 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #80#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,834 INFO L272 TraceCheckUtils]: 30: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:53:12,836 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #84#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L272 TraceCheckUtils]: 23: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #82#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 21: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,836 INFO L272 TraceCheckUtils]: 18: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,837 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #80#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,837 INFO L290 TraceCheckUtils]: 16: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,837 INFO L290 TraceCheckUtils]: 14: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,837 INFO L272 TraceCheckUtils]: 13: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !false; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {7989#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:53:12,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7989#true} {7989#true} #78#return; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {7989#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {7989#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {7989#true} call #t~ret5 := main(); {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7989#true} {7989#true} #94#return; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {7989#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(8, 2);call #Ultimate.allocInit(12, 3); {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {7989#true} call ULTIMATE.init(); {7989#true} is VALID [2022-04-27 13:53:12,838 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 63 proven. 15 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-27 13:53:12,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:53:12,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [286818772] [2022-04-27 13:53:12,839 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:53:12,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2139451251] [2022-04-27 13:53:12,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2139451251] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:53:12,839 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:53:12,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 13:53:12,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1767978131] [2022-04-27 13:53:12,839 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:53:12,840 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) Word has length 123 [2022-04-27 13:53:12,840 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:53:12,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:53:12,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:53:12,935 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:53:12,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:53:12,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:53:12,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:53:12,935 INFO L87 Difference]: Start difference. First operand 174 states and 229 transitions. Second operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:53:13,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:13,412 INFO L93 Difference]: Finished difference Result 203 states and 266 transitions. [2022-04-27 13:53:13,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:53:13,412 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) Word has length 123 [2022-04-27 13:53:13,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:53:13,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:53:13,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 101 transitions. [2022-04-27 13:53:13,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:53:13,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 101 transitions. [2022-04-27 13:53:13,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 101 transitions. [2022-04-27 13:53:13,504 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:53:13,506 INFO L225 Difference]: With dead ends: 203 [2022-04-27 13:53:13,507 INFO L226 Difference]: Without dead ends: 136 [2022-04-27 13:53:13,507 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 235 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:53:13,507 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 3 mSDsluCounter, 226 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:53:13,508 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 290 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:53:13,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-27 13:53:13,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 136. [2022-04-27 13:53:13,583 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:53:13,583 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:53:13,583 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:53:13,584 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:53:13,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:13,587 INFO L93 Difference]: Finished difference Result 136 states and 167 transitions. [2022-04-27 13:53:13,587 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:53:13,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:13,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:13,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 136 states. [2022-04-27 13:53:13,588 INFO L87 Difference]: Start difference. First operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 136 states. [2022-04-27 13:53:13,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:53:13,591 INFO L93 Difference]: Finished difference Result 136 states and 167 transitions. [2022-04-27 13:53:13,591 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:53:13,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:53:13,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:53:13,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:53:13,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:53:13,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:53:13,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-27 13:53:13,595 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 123 [2022-04-27 13:53:13,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:53:13,595 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-27 13:53:13,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:53:13,596 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:53:13,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-27 13:53:13,597 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:53:13,597 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:53:13,620 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:53:13,819 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:53:13,820 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:53:13,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:53:13,820 INFO L85 PathProgramCache]: Analyzing trace with hash -238794489, now seen corresponding path program 3 times [2022-04-27 13:53:13,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:53:13,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2120759191] [2022-04-27 13:53:13,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:53:13,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:53:13,838 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:53:13,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [519106823] [2022-04-27 13:53:13,838 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:53:13,838 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:53:13,838 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:53:13,839 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:53:13,845 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:53:13,913 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:53:13,913 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:53:13,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 13:53:13,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:53:13,933 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:53:21,696 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:53:28,016 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:53:35,524 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:53:35,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {9489#true} call ULTIMATE.init(); {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {9489#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(8, 2);call #Ultimate.allocInit(12, 3); {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9489#true} {9489#true} #94#return; {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {9489#true} call #t~ret5 := main(); {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {9489#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {9489#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9489#true} {9489#true} #78#return; {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {9489#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,892 INFO L272 TraceCheckUtils]: 13: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,893 INFO L272 TraceCheckUtils]: 18: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,893 INFO L272 TraceCheckUtils]: 23: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,894 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,895 INFO L272 TraceCheckUtils]: 30: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,895 INFO L272 TraceCheckUtils]: 35: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 37: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,895 INFO L290 TraceCheckUtils]: 38: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,896 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,896 INFO L272 TraceCheckUtils]: 40: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,896 INFO L290 TraceCheckUtils]: 41: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,896 INFO L290 TraceCheckUtils]: 42: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,896 INFO L290 TraceCheckUtils]: 43: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,896 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 45: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 46: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,897 INFO L272 TraceCheckUtils]: 47: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 48: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 49: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 50: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,897 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,897 INFO L272 TraceCheckUtils]: 52: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L290 TraceCheckUtils]: 54: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L290 TraceCheckUtils]: 55: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,898 INFO L272 TraceCheckUtils]: 57: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L290 TraceCheckUtils]: 58: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L290 TraceCheckUtils]: 59: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,898 INFO L290 TraceCheckUtils]: 60: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,899 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,899 INFO L290 TraceCheckUtils]: 62: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,899 INFO L290 TraceCheckUtils]: 63: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,899 INFO L272 TraceCheckUtils]: 64: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,899 INFO L290 TraceCheckUtils]: 65: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,899 INFO L290 TraceCheckUtils]: 66: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,899 INFO L290 TraceCheckUtils]: 67: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,900 INFO L272 TraceCheckUtils]: 69: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 70: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 71: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 72: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,900 INFO L272 TraceCheckUtils]: 74: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 75: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 76: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,900 INFO L290 TraceCheckUtils]: 77: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,901 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {9527#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,901 INFO L290 TraceCheckUtils]: 80: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,901 INFO L272 TraceCheckUtils]: 81: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,901 INFO L290 TraceCheckUtils]: 82: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,901 INFO L290 TraceCheckUtils]: 83: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,901 INFO L290 TraceCheckUtils]: 84: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,902 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #86#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,902 INFO L272 TraceCheckUtils]: 86: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,902 INFO L290 TraceCheckUtils]: 87: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,902 INFO L290 TraceCheckUtils]: 88: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,902 INFO L290 TraceCheckUtils]: 89: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,902 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #88#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 91: Hoare triple {9527#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 92: Hoare triple {9527#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 93: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,903 INFO L272 TraceCheckUtils]: 94: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 95: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 96: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,903 INFO L290 TraceCheckUtils]: 97: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,904 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #86#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,904 INFO L272 TraceCheckUtils]: 99: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,904 INFO L290 TraceCheckUtils]: 100: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:53:35,904 INFO L290 TraceCheckUtils]: 101: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:53:35,904 INFO L290 TraceCheckUtils]: 102: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:53:35,904 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #88#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,905 INFO L290 TraceCheckUtils]: 104: Hoare triple {9527#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,905 INFO L290 TraceCheckUtils]: 105: Hoare triple {9527#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,905 INFO L290 TraceCheckUtils]: 106: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:53:35,905 INFO L272 TraceCheckUtils]: 107: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,905 INFO L290 TraceCheckUtils]: 108: Hoare triple {9489#true} ~cond := #in~cond; {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:53:35,906 INFO L290 TraceCheckUtils]: 109: Hoare triple {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:53:35,906 INFO L290 TraceCheckUtils]: 110: Hoare triple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:53:35,906 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} {9527#(= main_~B~0 1)} #86#return; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:53:35,907 INFO L272 TraceCheckUtils]: 112: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:53:35,907 INFO L290 TraceCheckUtils]: 113: Hoare triple {9489#true} ~cond := #in~cond; {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:53:35,907 INFO L290 TraceCheckUtils]: 114: Hoare triple {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:53:35,907 INFO L290 TraceCheckUtils]: 115: Hoare triple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:53:35,908 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #88#return; {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:53:35,909 INFO L290 TraceCheckUtils]: 117: Hoare triple {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~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); {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:53:35,910 INFO L290 TraceCheckUtils]: 118: Hoare triple {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:53:35,910 INFO L290 TraceCheckUtils]: 119: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !false; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:53:35,911 INFO L272 TraceCheckUtils]: 120: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9859#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:53:35,911 INFO L290 TraceCheckUtils]: 121: Hoare triple {9859#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9863#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:53:35,911 INFO L290 TraceCheckUtils]: 122: Hoare triple {9863#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9490#false} is VALID [2022-04-27 13:53:35,911 INFO L290 TraceCheckUtils]: 123: Hoare triple {9490#false} assume !false; {9490#false} is VALID [2022-04-27 13:53:35,912 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 142 proven. 2 refuted. 0 times theorem prover too weak. 555 trivial. 0 not checked. [2022-04-27 13:53:35,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:55:23,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:55:23,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2120759191] [2022-04-27 13:55:23,688 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:55:23,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [519106823] [2022-04-27 13:55:23,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [519106823] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:55:23,689 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:55:23,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:55:23,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1658896471] [2022-04-27 13:55:23,689 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:55:23,689 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 124 [2022-04-27 13:55:23,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:55:23,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:55:23,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:55:23,738 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:55:23,738 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:55:23,738 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:55:23,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:55:23,739 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:55:24,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:24,114 INFO L93 Difference]: Finished difference Result 142 states and 172 transitions. [2022-04-27 13:55:24,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:55:24,114 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 124 [2022-04-27 13:55:24,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:55:24,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:55:24,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 13:55:24,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:55:24,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 13:55:24,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-04-27 13:55:24,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:55:24,171 INFO L225 Difference]: With dead ends: 142 [2022-04-27 13:55:24,171 INFO L226 Difference]: Without dead ends: 138 [2022-04-27 13:55:24,172 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:55:24,174 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 18 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:55:24,174 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 113 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:55:24,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-27 13:55:24,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 118. [2022-04-27 13:55:24,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:55:24,243 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:55:24,243 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:55:24,243 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:55:24,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:24,246 INFO L93 Difference]: Finished difference Result 138 states and 168 transitions. [2022-04-27 13:55:24,246 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 168 transitions. [2022-04-27 13:55:24,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:55:24,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:55:24,247 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 138 states. [2022-04-27 13:55:24,248 INFO L87 Difference]: Start difference. First operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 138 states. [2022-04-27 13:55:24,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:24,251 INFO L93 Difference]: Finished difference Result 138 states and 168 transitions. [2022-04-27 13:55:24,251 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 168 transitions. [2022-04-27 13:55:24,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:55:24,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:55:24,252 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:55:24,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:55:24,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:55:24,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 137 transitions. [2022-04-27 13:55:24,254 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 137 transitions. Word has length 124 [2022-04-27 13:55:24,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:55:24,255 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 137 transitions. [2022-04-27 13:55:24,255 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:55:24,255 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:55:24,256 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-27 13:55:24,256 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:55:24,256 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 4, 4, 4, 4, 4, 4, 4, 3, 3, 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] [2022-04-27 13:55:24,275 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-27 13:55:24,467 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:55:24,467 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:55:24,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:55:24,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1341863176, now seen corresponding path program 3 times [2022-04-27 13:55:24,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:55:24,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [363491565] [2022-04-27 13:55:24,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:55:24,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:55:24,480 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:55:24,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1792979434] [2022-04-27 13:55:24,481 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:55:24,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:55:24,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:55:24,482 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:55:24,482 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:55:24,530 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:55:24,530 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:55:24,531 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:55:24,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:55:24,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:55:24,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {10546#true} call ULTIMATE.init(); {10546#true} is VALID [2022-04-27 13:55:24,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {10546#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(8, 2);call #Ultimate.allocInit(12, 3); {10546#true} is VALID [2022-04-27 13:55:24,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10546#true} {10546#true} #94#return; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {10546#true} call #t~ret5 := main(); {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {10546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L272 TraceCheckUtils]: 6: Hoare triple {10546#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10546#true} {10546#true} #78#return; {10546#true} is VALID [2022-04-27 13:55:24,874 INFO L290 TraceCheckUtils]: 11: Hoare triple {10546#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,875 INFO L272 TraceCheckUtils]: 13: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,875 INFO L290 TraceCheckUtils]: 16: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,875 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,875 INFO L272 TraceCheckUtils]: 18: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,876 INFO L272 TraceCheckUtils]: 23: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,876 INFO L290 TraceCheckUtils]: 26: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,877 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 29: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,878 INFO L272 TraceCheckUtils]: 30: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 32: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,878 INFO L272 TraceCheckUtils]: 35: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,879 INFO L290 TraceCheckUtils]: 38: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,879 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,879 INFO L272 TraceCheckUtils]: 40: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,879 INFO L290 TraceCheckUtils]: 41: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,879 INFO L290 TraceCheckUtils]: 42: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,879 INFO L290 TraceCheckUtils]: 43: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,880 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,880 INFO L290 TraceCheckUtils]: 45: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,880 INFO L290 TraceCheckUtils]: 46: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,880 INFO L272 TraceCheckUtils]: 47: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 48: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 49: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 50: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,881 INFO L272 TraceCheckUtils]: 52: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 53: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 54: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,881 INFO L290 TraceCheckUtils]: 55: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,882 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,882 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,882 INFO L290 TraceCheckUtils]: 58: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,882 INFO L290 TraceCheckUtils]: 59: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,882 INFO L290 TraceCheckUtils]: 60: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,883 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,883 INFO L290 TraceCheckUtils]: 62: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,883 INFO L290 TraceCheckUtils]: 63: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,883 INFO L272 TraceCheckUtils]: 64: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,883 INFO L290 TraceCheckUtils]: 65: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,883 INFO L290 TraceCheckUtils]: 66: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,884 INFO L290 TraceCheckUtils]: 67: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,884 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,884 INFO L272 TraceCheckUtils]: 69: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,884 INFO L290 TraceCheckUtils]: 70: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,884 INFO L290 TraceCheckUtils]: 71: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,884 INFO L290 TraceCheckUtils]: 72: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,885 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,885 INFO L272 TraceCheckUtils]: 74: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,885 INFO L290 TraceCheckUtils]: 75: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,885 INFO L290 TraceCheckUtils]: 76: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,885 INFO L290 TraceCheckUtils]: 77: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,886 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,886 INFO L290 TraceCheckUtils]: 79: Hoare triple {10584#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,886 INFO L290 TraceCheckUtils]: 80: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,886 INFO L272 TraceCheckUtils]: 81: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,886 INFO L290 TraceCheckUtils]: 82: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,886 INFO L290 TraceCheckUtils]: 83: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,886 INFO L290 TraceCheckUtils]: 84: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,887 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,887 INFO L272 TraceCheckUtils]: 86: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,887 INFO L290 TraceCheckUtils]: 87: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,887 INFO L290 TraceCheckUtils]: 88: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,887 INFO L290 TraceCheckUtils]: 89: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,888 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #88#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,888 INFO L290 TraceCheckUtils]: 91: Hoare triple {10584#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,888 INFO L290 TraceCheckUtils]: 92: Hoare triple {10584#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,889 INFO L290 TraceCheckUtils]: 93: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,889 INFO L272 TraceCheckUtils]: 94: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,889 INFO L290 TraceCheckUtils]: 95: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,889 INFO L290 TraceCheckUtils]: 96: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,889 INFO L290 TraceCheckUtils]: 97: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,889 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,890 INFO L272 TraceCheckUtils]: 99: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,890 INFO L290 TraceCheckUtils]: 100: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,890 INFO L290 TraceCheckUtils]: 101: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,890 INFO L290 TraceCheckUtils]: 102: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,890 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #88#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,891 INFO L290 TraceCheckUtils]: 104: Hoare triple {10584#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,891 INFO L290 TraceCheckUtils]: 105: Hoare triple {10584#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,895 INFO L290 TraceCheckUtils]: 106: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,895 INFO L272 TraceCheckUtils]: 107: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,895 INFO L290 TraceCheckUtils]: 108: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,895 INFO L290 TraceCheckUtils]: 109: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,895 INFO L290 TraceCheckUtils]: 110: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,896 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:55:24,896 INFO L272 TraceCheckUtils]: 112: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,896 INFO L290 TraceCheckUtils]: 113: Hoare triple {10546#true} ~cond := #in~cond; {10891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:55:24,897 INFO L290 TraceCheckUtils]: 114: Hoare triple {10891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:55:24,897 INFO L290 TraceCheckUtils]: 115: Hoare triple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:55:24,898 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} {10584#(= main_~B~0 1)} #88#return; {10902#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-27 13:55:24,898 INFO L290 TraceCheckUtils]: 117: Hoare triple {10902#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !(1 != ~p~0); {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:55:24,898 INFO L272 TraceCheckUtils]: 118: Hoare triple {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:24,898 INFO L290 TraceCheckUtils]: 119: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:24,898 INFO L290 TraceCheckUtils]: 120: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:24,899 INFO L290 TraceCheckUtils]: 121: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:24,899 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {10546#true} {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #90#return; {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:55:24,900 INFO L272 TraceCheckUtils]: 123: Hoare triple {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:55:24,900 INFO L290 TraceCheckUtils]: 124: Hoare triple {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:55:24,901 INFO L290 TraceCheckUtils]: 125: Hoare triple {10929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10547#false} is VALID [2022-04-27 13:55:24,901 INFO L290 TraceCheckUtils]: 126: Hoare triple {10547#false} assume !false; {10547#false} is VALID [2022-04-27 13:55:24,901 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 13:55:24,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:55:28,315 INFO L290 TraceCheckUtils]: 126: Hoare triple {10547#false} assume !false; {10547#false} is VALID [2022-04-27 13:55:28,316 INFO L290 TraceCheckUtils]: 125: Hoare triple {10929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10547#false} is VALID [2022-04-27 13:55:28,316 INFO L290 TraceCheckUtils]: 124: Hoare triple {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:55:28,317 INFO L272 TraceCheckUtils]: 123: Hoare triple {10945#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:55:28,317 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {10546#true} {10945#(= main_~B~0 main_~d~0)} #90#return; {10945#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:55:28,318 INFO L290 TraceCheckUtils]: 121: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,318 INFO L290 TraceCheckUtils]: 120: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,318 INFO L290 TraceCheckUtils]: 119: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,318 INFO L272 TraceCheckUtils]: 118: Hoare triple {10945#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,318 INFO L290 TraceCheckUtils]: 117: Hoare triple {10964#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {10945#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:55:28,319 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} {10546#true} #88#return; {10964#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:55:28,319 INFO L290 TraceCheckUtils]: 115: Hoare triple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:55:28,320 INFO L290 TraceCheckUtils]: 114: Hoare triple {10977#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:55:28,320 INFO L290 TraceCheckUtils]: 113: Hoare triple {10546#true} ~cond := #in~cond; {10977#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:55:28,320 INFO L272 TraceCheckUtils]: 112: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,320 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:55:28,320 INFO L290 TraceCheckUtils]: 110: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,320 INFO L290 TraceCheckUtils]: 109: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 108: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L272 TraceCheckUtils]: 107: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 106: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 105: Hoare triple {10546#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 104: Hoare triple {10546#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {10546#true} {10546#true} #88#return; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 102: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 101: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 100: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L272 TraceCheckUtils]: 99: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 97: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 96: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,321 INFO L290 TraceCheckUtils]: 95: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L272 TraceCheckUtils]: 94: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 93: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 92: Hoare triple {10546#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 91: Hoare triple {10546#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {10546#true} {10546#true} #88#return; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 89: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 88: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 87: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L272 TraceCheckUtils]: 86: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 84: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 83: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 82: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L272 TraceCheckUtils]: 81: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,322 INFO L290 TraceCheckUtils]: 80: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 79: Hoare triple {10546#true} assume !(~r~0 >= ~d~0); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 77: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 76: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 75: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L272 TraceCheckUtils]: 74: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 72: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 71: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 70: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L272 TraceCheckUtils]: 69: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 67: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 66: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L290 TraceCheckUtils]: 65: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,323 INFO L272 TraceCheckUtils]: 64: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 63: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 62: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 60: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 59: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 58: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L272 TraceCheckUtils]: 57: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 55: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 54: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 53: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L272 TraceCheckUtils]: 52: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 50: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L272 TraceCheckUtils]: 47: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 46: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 45: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 43: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 42: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 41: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L272 TraceCheckUtils]: 40: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 38: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 37: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,325 INFO L272 TraceCheckUtils]: 35: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L272 TraceCheckUtils]: 30: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 28: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L272 TraceCheckUtils]: 23: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L272 TraceCheckUtils]: 18: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 14: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L272 TraceCheckUtils]: 13: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {10546#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10546#true} {10546#true} #78#return; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {10546#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 100 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:55:28,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {10546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {10546#true} call #t~ret5 := main(); {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10546#true} {10546#true} #94#return; {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {10546#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(8, 2);call #Ultimate.allocInit(12, 3); {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {10546#true} call ULTIMATE.init(); {10546#true} is VALID [2022-04-27 13:55:28,328 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 13:55:28,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:55:28,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [363491565] [2022-04-27 13:55:28,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:55:28,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792979434] [2022-04-27 13:55:28,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792979434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:55:28,329 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:55:28,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 13:55:28,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257811099] [2022-04-27 13:55:28,329 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:55:28,330 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) Word has length 127 [2022-04-27 13:55:28,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:55:28,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:55:28,389 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:55:28,389 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:55:28,389 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:55:28,389 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:55:28,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:55:28,389 INFO L87 Difference]: Start difference. First operand 118 states and 137 transitions. Second operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:55:28,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:28,877 INFO L93 Difference]: Finished difference Result 126 states and 143 transitions. [2022-04-27 13:55:28,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:55:28,877 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) Word has length 127 [2022-04-27 13:55:28,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:55:28,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:55:28,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2022-04-27 13:55:28,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:55:28,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2022-04-27 13:55:28,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 49 transitions. [2022-04-27 13:55:28,930 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:55:28,930 INFO L225 Difference]: With dead ends: 126 [2022-04-27 13:55:28,930 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:55:28,931 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 257 GetRequests, 243 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:55:28,932 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 23 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 185 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:55:28,932 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 132 Invalid, 185 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 160 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:55:28,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:55:28,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:55:28,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:55:28,932 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:55:28,932 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:55:28,933 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:55:28,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:28,933 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:55:28,933 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:55:28,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:55:28,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:55:28,933 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:55:28,933 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:55:28,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:55:28,933 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:55:28,933 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:55:28,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:55:28,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:55:28,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:55:28,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:55:28,934 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:55:28,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:55:28,934 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 127 [2022-04-27 13:55:28,934 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:55:28,934 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:55:28,934 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:55:28,934 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:55:28,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:55:28,936 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:55:28,964 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:55:29,140 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:55:29,142 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:55:46,359 WARN L232 SmtUtils]: Spent 16.26s on a formula simplification. DAG size of input: 144 DAG size of output: 16 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:55:53,109 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 13:55:53,109 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 13:55:53,109 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (let ((.cse0 (= main_~B~0 main_~d~0))) (or (and (= main_~B~0 1) .cse0 (= main_~p~0 1)) (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) .cse0))) [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point L52(lines 52 55) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point L52-2(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point L46(lines 44 56) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:55:53,110 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) (= main_~B~0 main_~d~0)) [2022-04-27 13:55:53,110 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:55:53,110 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:55:53,111 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point L59(line 59) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= 1 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-27 13:55:53,111 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse1 (* main_~B~0 main_~q~0))) (let ((.cse0 (div main_~p~0 2)) (.cse2 (= (+ .cse1 main_~r~0) main_~A~0))) (or (and (<= 1 .cse0) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse1 main_~r~0)) (= main_~B~0 1) .cse2) (and (= (let ((.cse3 (div main_~d~0 2))) (+ (div .cse3 2) main_~A~0 .cse3)) (+ .cse1 main_~r~0 (* main_~B~0 (div .cse0 2)) (* main_~B~0 .cse0))) (<= 1 main_~B~0) .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1))))) [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point L37(lines 34 42) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:55:53,111 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:55:53,111 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:55:53,111 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:55:53,111 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:55:53,111 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 13:55:53,112 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 13:55:53,112 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 13:55:53,112 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:55:53,112 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:55:53,112 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 13:55:53,114 INFO L356 BasicCegarLoop]: Path program histogram: [3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:55:53,115 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:55:53,118 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:55:53,118 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:55:53,120 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:55:53,122 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:55:53,123 INFO L163 areAnnotationChecker]: CFG has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:55:53,130 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:55:53 BoogieIcfgContainer [2022-04-27 13:55:53,130 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:55:53,131 INFO L158 Benchmark]: Toolchain (without parser) took 264192.89ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 125.5MB in the beginning and 147.7MB in the end (delta: -22.1MB). Peak memory consumption was 101.9MB. Max. memory is 8.0GB. [2022-04-27 13:55:53,131 INFO L158 Benchmark]: CDTParser took 0.32ms. Allocated memory is still 174.1MB. Free memory is still 141.6MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:55:53,131 INFO L158 Benchmark]: CACSL2BoogieTranslator took 243.64ms. Allocated memory is still 174.1MB. Free memory was 125.2MB in the beginning and 150.6MB in the end (delta: -25.4MB). Peak memory consumption was 13.0MB. Max. memory is 8.0GB. [2022-04-27 13:55:53,132 INFO L158 Benchmark]: Boogie Preprocessor took 24.35ms. Allocated memory is still 174.1MB. Free memory was 150.6MB in the beginning and 148.7MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 13:55:53,132 INFO L158 Benchmark]: RCFGBuilder took 257.76ms. Allocated memory is still 174.1MB. Free memory was 148.7MB in the beginning and 137.6MB in the end (delta: 11.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:55:53,132 INFO L158 Benchmark]: TraceAbstraction took 263661.43ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 137.2MB in the beginning and 147.7MB in the end (delta: -10.5MB). Peak memory consumption was 115.2MB. Max. memory is 8.0GB. [2022-04-27 13:55:53,133 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.32ms. Allocated memory is still 174.1MB. Free memory is still 141.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 243.64ms. Allocated memory is still 174.1MB. Free memory was 125.2MB in the beginning and 150.6MB in the end (delta: -25.4MB). Peak memory consumption was 13.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 24.35ms. Allocated memory is still 174.1MB. Free memory was 150.6MB in the beginning and 148.7MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 257.76ms. Allocated memory is still 174.1MB. Free memory was 148.7MB in the beginning and 137.6MB in the end (delta: 11.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 263661.43ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 137.2MB in the beginning and 147.7MB in the end (delta: -10.5MB). Peak memory consumption was 115.2MB. 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, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 263.6s, OverallIterations: 14, TraceHistogramMax: 20, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 54.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 24.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 409 SdHoareTripleChecker+Valid, 14.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 338 mSDsluCounter, 2037 SdHoareTripleChecker+Invalid, 14.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1469 mSDsCounter, 442 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2468 IncrementalHoareTripleChecker+Invalid, 2912 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 442 mSolverCounterUnsat, 568 mSDtfsCounter, 2468 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1596 GetRequests, 1452 SyntacticMatches, 22 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 27.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=174occurred in iteration=11, InterpolantAutomatonStates: 100, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 14 MinimizatonAttempts, 75 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 128 PreInvPairs, 188 NumberOfFragments, 455 HoareAnnotationTreeSize, 128 FomulaSimplifications, 522 FormulaSimplificationTreeSizeReduction, 0.9s HoareSimplificationTime, 15 FomulaSimplificationsInter, 13266 FormulaSimplificationTreeSizeReductionInter, 23.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 179.5s InterpolantComputationTime, 962 NumberOfCodeBlocks, 840 NumberOfCodeBlocksAsserted, 22 NumberOfCheckSat, 1578 ConstructedInterpolants, 0 QuantifiedInterpolants, 15993 SizeOfPredicates, 26 NumberOfNonLiveVariables, 1954 ConjunctsInSsa, 196 ConjunctsInUnsatCore, 21 InterpolantComputations, 7 PerfectInterpolantSequences, 6338/6540 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: 34]: Loop Invariant Derived loop invariant: (((((q == 0 && B == 1) && B * q + r == A) && B == d) && p == 1) || ((((B * 2 == d && p == 2) && q == 0) && B == 1) && B * q + r == A)) || ((((1 <= p / 2 / 2 && A + d == B * p + B * q + r) && q == 0) && B == 1) && B * q + r == A) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:55:53,206 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...