/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_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:43:53,886 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:43:53,888 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:43:53,961 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:43:53,962 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:43:53,963 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:43:53,967 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:43:53,973 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:43:53,975 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:43:53,981 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:43:53,981 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:43:53,982 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:43:53,982 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:43:53,983 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:43:53,984 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:43:53,984 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:43:53,985 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:43:53,986 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:43:53,987 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:43:53,988 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:43:53,989 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:43:53,993 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:43:53,995 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:43:53,998 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:43:54,000 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:43:54,009 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:43:54,009 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:43:54,010 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:43:54,011 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:43:54,011 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:43:54,012 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:43:54,012 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:43:54,014 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:43:54,014 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:43:54,015 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:43:54,016 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:43:54,016 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:43:54,016 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:43:54,016 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:43:54,016 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:43:54,017 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:43:54,020 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:43:54,021 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:43:54,054 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:43:54,055 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:43:54,056 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:43:54,056 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:43:54,061 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:43:54,061 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:43:54,062 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:43:54,062 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:43:54,062 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:43:54,062 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:43:54,063 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:43:54,064 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:43:54,064 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:43:54,065 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:43:54,065 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:43:54,065 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:43:54,292 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:43:54,312 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:43:54,314 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:43:54,315 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:43:54,316 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:43:54,317 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c [2022-04-27 13:43:54,386 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e33f145f8/69a5568904604833ad9b85f733366930/FLAG6ac007021 [2022-04-27 13:43:54,850 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:43:54,850 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c [2022-04-27 13:43:54,857 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e33f145f8/69a5568904604833ad9b85f733366930/FLAG6ac007021 [2022-04-27 13:43:54,875 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e33f145f8/69a5568904604833ad9b85f733366930 [2022-04-27 13:43:54,878 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:43:54,880 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:43:54,882 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:43:54,882 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:43:54,886 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:43:54,887 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:43:54" (1/1) ... [2022-04-27 13:43:54,889 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64f21e1f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:54, skipping insertion in model container [2022-04-27 13:43:54,889 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:43:54" (1/1) ... [2022-04-27 13:43:54,896 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:43:54,909 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:43:55,092 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_unwindbound100.c[526,539] [2022-04-27 13:43:55,123 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:43:55,136 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:43:55,152 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_unwindbound100.c[526,539] [2022-04-27 13:43:55,174 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:43:55,189 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:43:55,190 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55 WrapperNode [2022-04-27 13:43:55,190 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:43:55,191 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:43:55,191 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:43:55,191 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:43:55,201 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,201 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,208 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,208 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,223 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,230 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,238 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,240 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:43:55,241 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:43:55,241 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:43:55,241 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:43:55,244 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (1/1) ... [2022-04-27 13:43:55,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:43:55,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:43:55,273 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:43:55,299 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:43:55,313 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:43:55,314 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:43:55,314 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:43:55,314 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:43:55,314 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:43:55,314 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:43:55,314 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:43:55,314 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:43:55,314 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:43:55,315 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:43:55,316 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:43:55,373 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:43:55,375 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:43:55,569 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:43:55,575 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:43:55,576 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:43:55,577 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:43:55 BoogieIcfgContainer [2022-04-27 13:43:55,578 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:43:55,579 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:43:55,579 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:43:55,590 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:43:55,590 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:43:54" (1/3) ... [2022-04-27 13:43:55,591 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3098135c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:43:55, skipping insertion in model container [2022-04-27 13:43:55,591 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:43:55" (2/3) ... [2022-04-27 13:43:55,591 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3098135c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:43:55, skipping insertion in model container [2022-04-27 13:43:55,591 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:43:55" (3/3) ... [2022-04-27 13:43:55,593 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound100.c [2022-04-27 13:43:55,623 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:43:55,623 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:43:55,692 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:43:55,709 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@1e1b90b6, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5e926155 [2022-04-27 13:43:55,709 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:43:55,718 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:43:55,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-27 13:43:55,726 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:55,727 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:43:55,728 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:55,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:55,734 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 1 times [2022-04-27 13:43:55,743 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:55,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1701177316] [2022-04-27 13:43:55,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:55,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:55,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:55,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:43:55,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:55,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-27 13:43:55,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-27 13:43:55,984 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-27 13:43:55,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:43:55,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-27 13:43:55,989 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-27 13:43:55,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-27 13:43:55,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret7 := main(); {34#true} is VALID [2022-04-27 13:43:55,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {34#true} is VALID [2022-04-27 13:43:55,991 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-04-27 13:43:55,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#false} assume !true; {35#false} is VALID [2022-04-27 13:43:55,992 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35#false} is VALID [2022-04-27 13:43:55,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-04-27 13:43:55,993 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-04-27 13:43:55,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-04-27 13:43:55,994 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:43:55,995 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:55,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1701177316] [2022-04-27 13:43:55,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1701177316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:55,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:55,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:43:55,999 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1605295547] [2022-04-27 13:43:56,000 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:56,007 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 13:43:56,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:56,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:56,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:43:56,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:56,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:43:56,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:43:56,075 INFO L87 Difference]: Start difference. First operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:56,256 INFO L93 Difference]: Finished difference Result 57 states and 91 transitions. [2022-04-27 13:43:56,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:43:56,257 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 13:43:56,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:56,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-27 13:43:56,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-27 13:43:56,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 91 transitions. [2022-04-27 13:43:56,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:56,395 INFO L225 Difference]: With dead ends: 57 [2022-04-27 13:43:56,395 INFO L226 Difference]: Without dead ends: 27 [2022-04-27 13:43:56,398 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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:43:56,402 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:56,403 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 44 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:43:56,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-27 13:43:56,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2022-04-27 13:43:56,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:56,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:56,433 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:56,433 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:56,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:56,448 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-27 13:43:56,448 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-27 13:43:56,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:56,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:56,449 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-27 13:43:56,450 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-27 13:43:56,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:56,454 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-27 13:43:56,454 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-27 13:43:56,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:56,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:56,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:56,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:56,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:56,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 36 transitions. [2022-04-27 13:43:56,468 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 36 transitions. Word has length 12 [2022-04-27 13:43:56,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:56,470 INFO L495 AbstractCegarLoop]: Abstraction has 26 states and 36 transitions. [2022-04-27 13:43:56,472 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,472 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 36 transitions. [2022-04-27 13:43:56,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-27 13:43:56,475 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:56,479 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:43:56,479 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:43:56,480 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:56,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:56,480 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 1 times [2022-04-27 13:43:56,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:56,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1069165560] [2022-04-27 13:43:56,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:56,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:56,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:56,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:43:56,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:56,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {223#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {215#true} is VALID [2022-04-27 13:43:56,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {215#true} assume true; {215#true} is VALID [2022-04-27 13:43:56,654 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {215#true} {215#true} #92#return; {215#true} is VALID [2022-04-27 13:43:56,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {215#true} call ULTIMATE.init(); {223#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:43:56,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {223#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {215#true} is VALID [2022-04-27 13:43:56,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {215#true} assume true; {215#true} is VALID [2022-04-27 13:43:56,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {215#true} {215#true} #92#return; {215#true} is VALID [2022-04-27 13:43:56,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {215#true} call #t~ret7 := main(); {215#true} is VALID [2022-04-27 13:43:56,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {215#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {220#(= main_~q~0 0)} is VALID [2022-04-27 13:43:56,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {220#(= main_~q~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {220#(= main_~q~0 0)} is VALID [2022-04-27 13:43:56,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {220#(= main_~q~0 0)} assume !!(#t~post5 < 100);havoc #t~post5; {220#(= main_~q~0 0)} is VALID [2022-04-27 13:43:56,659 INFO L272 TraceCheckUtils]: 8: Hoare triple {220#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {221#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:43:56,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {221#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {222#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:43:56,660 INFO L290 TraceCheckUtils]: 10: Hoare triple {222#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {216#false} is VALID [2022-04-27 13:43:56,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {216#false} assume !false; {216#false} is VALID [2022-04-27 13:43:56,661 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:43:56,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:56,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1069165560] [2022-04-27 13:43:56,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1069165560] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:56,661 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:56,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:43:56,662 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [155088524] [2022-04-27 13:43:56,662 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:56,663 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 13:43:56,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:56,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:56,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:56,683 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:43:56,683 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:56,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:43:56,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:43:56,684 INFO L87 Difference]: Start difference. First operand 26 states and 36 transitions. Second operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,120 INFO L93 Difference]: Finished difference Result 41 states and 56 transitions. [2022-04-27 13:43:57,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:43:57,121 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 13:43:57,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:57,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-27 13:43:57,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-27 13:43:57,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-27 13:43:57,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:57,194 INFO L225 Difference]: With dead ends: 41 [2022-04-27 13:43:57,194 INFO L226 Difference]: Without dead ends: 39 [2022-04-27 13:43:57,194 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:43:57,196 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 24 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:57,196 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 85 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:43:57,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-27 13:43:57,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 30. [2022-04-27 13:43:57,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:57,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,209 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,209 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,217 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-27 13:43:57,217 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-27 13:43:57,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:57,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:57,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-27 13:43:57,219 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-27 13:43:57,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,222 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-27 13:43:57,223 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-27 13:43:57,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:57,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:57,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:57,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:57,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-27 13:43:57,227 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 12 [2022-04-27 13:43:57,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:57,227 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-27 13:43:57,227 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,227 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-27 13:43:57,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-04-27 13:43:57,228 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:57,228 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:43:57,228 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:43:57,229 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:57,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:57,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 1 times [2022-04-27 13:43:57,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:57,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [750217059] [2022-04-27 13:43:57,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:57,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:57,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:57,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:43:57,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:57,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {423#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {421#(<= ~counter~0 0)} assume true; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,331 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {421#(<= ~counter~0 0)} {416#true} #92#return; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {416#true} call ULTIMATE.init(); {423#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:43:57,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {423#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {421#(<= ~counter~0 0)} assume true; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {421#(<= ~counter~0 0)} {416#true} #92#return; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {421#(<= ~counter~0 0)} call #t~ret7 := main(); {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {421#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {421#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:57,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {421#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {422#(<= |main_#t~post5| 0)} is VALID [2022-04-27 13:43:57,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {422#(<= |main_#t~post5| 0)} assume !(#t~post5 < 100);havoc #t~post5; {417#false} is VALID [2022-04-27 13:43:57,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {417#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {417#false} is VALID [2022-04-27 13:43:57,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {417#false} assume !(#t~post6 < 100);havoc #t~post6; {417#false} is VALID [2022-04-27 13:43:57,338 INFO L272 TraceCheckUtils]: 10: Hoare triple {417#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {417#false} is VALID [2022-04-27 13:43:57,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {417#false} ~cond := #in~cond; {417#false} is VALID [2022-04-27 13:43:57,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {417#false} assume 0 == ~cond; {417#false} is VALID [2022-04-27 13:43:57,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {417#false} assume !false; {417#false} is VALID [2022-04-27 13:43:57,340 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:43:57,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:57,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [750217059] [2022-04-27 13:43:57,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [750217059] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:57,342 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:57,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 13:43:57,343 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [363252519] [2022-04-27 13:43:57,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:57,347 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-27 13:43:57,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:57,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:57,362 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:43:57,363 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:57,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:43:57,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:43:57,364 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,573 INFO L93 Difference]: Finished difference Result 46 states and 61 transitions. [2022-04-27 13:43:57,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:43:57,574 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-27 13:43:57,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:57,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-27 13:43:57,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-27 13:43:57,581 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-04-27 13:43:57,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:57,637 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:43:57,637 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 13:43:57,639 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 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:43:57,645 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 6 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:57,646 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 73 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:43:57,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 13:43:57,658 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 13:43:57,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:57,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,660 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,660 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,672 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 13:43:57,672 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 13:43:57,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:57,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:57,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-27 13:43:57,677 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-27 13:43:57,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:57,684 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 13:43:57,684 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 13:43:57,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:57,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:57,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:57,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:57,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:57,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 13:43:57,689 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 14 [2022-04-27 13:43:57,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:57,689 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 13:43:57,690 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 13:43:57,690 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 13:43:57,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:43:57,691 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:57,691 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:43:57,691 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:43:57,691 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:57,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:57,692 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 1 times [2022-04-27 13:43:57,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:57,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [506028485] [2022-04-27 13:43:57,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:57,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:57,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:57,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:43:57,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:57,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {617#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {605#true} is VALID [2022-04-27 13:43:57,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {605#true} assume true; {605#true} is VALID [2022-04-27 13:43:57,791 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {605#true} {605#true} #92#return; {605#true} is VALID [2022-04-27 13:43:57,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-27 13:43:57,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:57,804 INFO L290 TraceCheckUtils]: 0: Hoare triple {605#true} ~cond := #in~cond; {605#true} is VALID [2022-04-27 13:43:57,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {605#true} assume !(0 == ~cond); {605#true} is VALID [2022-04-27 13:43:57,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {605#true} assume true; {605#true} is VALID [2022-04-27 13:43:57,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {605#true} {610#(= main_~A~0 main_~r~0)} #78#return; {610#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:43:57,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {605#true} call ULTIMATE.init(); {617#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:43:57,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {617#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {605#true} is VALID [2022-04-27 13:43:57,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {605#true} assume true; {605#true} is VALID [2022-04-27 13:43:57,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {605#true} {605#true} #92#return; {605#true} is VALID [2022-04-27 13:43:57,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {605#true} call #t~ret7 := main(); {605#true} is VALID [2022-04-27 13:43:57,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {605#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {610#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:43:57,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {610#(= main_~A~0 main_~r~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {610#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:43:57,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {610#(= main_~A~0 main_~r~0)} assume !!(#t~post5 < 100);havoc #t~post5; {610#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:43:57,811 INFO L272 TraceCheckUtils]: 8: Hoare triple {610#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {605#true} is VALID [2022-04-27 13:43:57,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {605#true} ~cond := #in~cond; {605#true} is VALID [2022-04-27 13:43:57,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {605#true} assume !(0 == ~cond); {605#true} is VALID [2022-04-27 13:43:57,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {605#true} assume true; {605#true} is VALID [2022-04-27 13:43:57,813 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {605#true} {610#(= main_~A~0 main_~r~0)} #78#return; {610#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:43:57,814 INFO L272 TraceCheckUtils]: 13: Hoare triple {610#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:43:57,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {615#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {616#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:43:57,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {606#false} is VALID [2022-04-27 13:43:57,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {606#false} assume !false; {606#false} is VALID [2022-04-27 13:43:57,816 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:43:57,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:57,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [506028485] [2022-04-27 13:43:57,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [506028485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:57,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:57,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:43:57,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1227015090] [2022-04-27 13:43:57,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:57,819 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), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-27 13:43:57,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:57,820 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:43:57,839 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:43:57,839 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:43:57,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:57,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:43:57,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:43:57,841 INFO L87 Difference]: Start difference. First operand 32 states and 41 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:43:58,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,195 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:43:58,195 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:43:58,195 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), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-27 13:43:58,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:58,196 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:43:58,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-27 13:43:58,198 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:43:58,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-27 13:43:58,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-27 13:43:58,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:58,248 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:43:58,248 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:43:58,249 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 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:43:58,249 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 19 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:58,250 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 78 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:43:58,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:43:58,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 36. [2022-04-27 13:43:58,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:58,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:58,257 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:58,257 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:58,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,260 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:43:58,260 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:43:58,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:58,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:58,261 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 13:43:58,261 INFO L87 Difference]: Start difference. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 13:43:58,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,264 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:43:58,264 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:43:58,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:58,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:58,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:58,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:58,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 13:43:58,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 44 transitions. [2022-04-27 13:43:58,267 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 44 transitions. Word has length 17 [2022-04-27 13:43:58,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:58,267 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 44 transitions. [2022-04-27 13:43:58,267 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:43:58,267 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 44 transitions. [2022-04-27 13:43:58,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 13:43:58,268 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:58,268 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:43:58,268 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 13:43:58,268 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:58,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:58,269 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 1 times [2022-04-27 13:43:58,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:58,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1778852232] [2022-04-27 13:43:58,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:58,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:58,280 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:43:58,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [933872682] [2022-04-27 13:43:58,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:58,281 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:43:58,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:43:58,283 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:43:58,319 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:43:58,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:58,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:43:58,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:58,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:43:58,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {834#true} call ULTIMATE.init(); {834#true} is VALID [2022-04-27 13:43:58,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {834#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);~counter~0 := 0; {834#true} is VALID [2022-04-27 13:43:58,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {834#true} assume true; {834#true} is VALID [2022-04-27 13:43:58,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {834#true} {834#true} #92#return; {834#true} is VALID [2022-04-27 13:43:58,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {834#true} call #t~ret7 := main(); {834#true} is VALID [2022-04-27 13:43:58,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {834#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:43:58,580 INFO L290 TraceCheckUtils]: 6: Hoare triple {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:43:58,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:43:58,580 INFO L272 TraceCheckUtils]: 8: Hoare triple {854#(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)); {834#true} is VALID [2022-04-27 13:43:58,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-04-27 13:43:58,581 INFO L290 TraceCheckUtils]: 10: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-04-27 13:43:58,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {834#true} assume true; {834#true} is VALID [2022-04-27 13:43:58,582 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {834#true} {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:43:58,582 INFO L272 TraceCheckUtils]: 13: Hoare triple {854#(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)); {834#true} is VALID [2022-04-27 13:43:58,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {834#true} ~cond := #in~cond; {834#true} is VALID [2022-04-27 13:43:58,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {834#true} assume !(0 == ~cond); {834#true} is VALID [2022-04-27 13:43:58,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {834#true} assume true; {834#true} is VALID [2022-04-27 13:43:58,583 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {834#true} {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {854#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:43:58,584 INFO L272 TraceCheckUtils]: 18: Hoare triple {854#(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)); {894#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:43:58,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {894#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {898#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:43:58,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {898#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {835#false} is VALID [2022-04-27 13:43:58,586 INFO L290 TraceCheckUtils]: 21: Hoare triple {835#false} assume !false; {835#false} is VALID [2022-04-27 13:43:58,587 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:43:58,587 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:43:58,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:58,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1778852232] [2022-04-27 13:43:58,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:43:58,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [933872682] [2022-04-27 13:43:58,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [933872682] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:58,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:58,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:43:58,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912470029] [2022-04-27 13:43:58,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:58,590 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:58,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:58,605 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:43:58,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:58,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:43:58,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:43:58,606 INFO L87 Difference]: Start difference. First operand 36 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,790 INFO L93 Difference]: Finished difference Result 65 states and 87 transitions. [2022-04-27 13:43:58,790 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:43:58,790 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:58,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-27 13:43:58,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-27 13:43:58,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-04-27 13:43:58,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:58,863 INFO L225 Difference]: With dead ends: 65 [2022-04-27 13:43:58,864 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 13:43:58,864 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 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:43:58,865 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:58,865 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:43:58,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 13:43:58,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-27 13:43:58,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:58,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:58,874 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:58,874 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:58,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,877 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:43:58,877 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:43:58,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:58,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:58,878 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-27 13:43:58,878 INFO L87 Difference]: Start difference. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-27 13:43:58,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:58,881 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:43:58,881 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:43:58,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:58,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:58,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:58,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:58,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:58,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-27 13:43:58,884 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 22 [2022-04-27 13:43:58,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:58,885 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-27 13:43:58,885 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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:43:58,885 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:43:58,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-27 13:43:58,885 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:58,886 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] [2022-04-27 13:43:58,919 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 13:43:59,107 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:43:59,108 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:59,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:59,108 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 1 times [2022-04-27 13:43:59,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:59,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520764660] [2022-04-27 13:43:59,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:59,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:59,121 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:43:59,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [671863881] [2022-04-27 13:43:59,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:59,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:43:59,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:43:59,123 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:43:59,159 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:43:59,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:59,178 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:43:59,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:59,192 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:43:59,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {1173#true} call ULTIMATE.init(); {1173#true} is VALID [2022-04-27 13:43:59,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {1173#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);~counter~0 := 0; {1181#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:59,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {1181#(<= ~counter~0 0)} assume true; {1181#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:59,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1181#(<= ~counter~0 0)} {1173#true} #92#return; {1181#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:59,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {1181#(<= ~counter~0 0)} call #t~ret7 := main(); {1181#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:59,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {1181#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1181#(<= ~counter~0 0)} is VALID [2022-04-27 13:43:59,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {1181#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {1197#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,419 INFO L272 TraceCheckUtils]: 8: Hoare triple {1197#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {1197#(<= ~counter~0 1)} ~cond := #in~cond; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,420 INFO L290 TraceCheckUtils]: 10: Hoare triple {1197#(<= ~counter~0 1)} assume !(0 == ~cond); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {1197#(<= ~counter~0 1)} assume true; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,422 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1197#(<= ~counter~0 1)} {1197#(<= ~counter~0 1)} #78#return; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,422 INFO L272 TraceCheckUtils]: 13: Hoare triple {1197#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {1197#(<= ~counter~0 1)} ~cond := #in~cond; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {1197#(<= ~counter~0 1)} assume !(0 == ~cond); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {1197#(<= ~counter~0 1)} assume true; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,424 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1197#(<= ~counter~0 1)} {1197#(<= ~counter~0 1)} #80#return; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,426 INFO L272 TraceCheckUtils]: 18: Hoare triple {1197#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {1197#(<= ~counter~0 1)} ~cond := #in~cond; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {1197#(<= ~counter~0 1)} assume !(0 == ~cond); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {1197#(<= ~counter~0 1)} assume true; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,430 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1197#(<= ~counter~0 1)} {1197#(<= ~counter~0 1)} #82#return; {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,439 INFO L290 TraceCheckUtils]: 23: Hoare triple {1197#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1197#(<= ~counter~0 1)} is VALID [2022-04-27 13:43:59,440 INFO L290 TraceCheckUtils]: 24: Hoare triple {1197#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1252#(<= |main_#t~post6| 1)} is VALID [2022-04-27 13:43:59,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {1252#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1174#false} is VALID [2022-04-27 13:43:59,441 INFO L272 TraceCheckUtils]: 26: Hoare triple {1174#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1174#false} is VALID [2022-04-27 13:43:59,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {1174#false} ~cond := #in~cond; {1174#false} is VALID [2022-04-27 13:43:59,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {1174#false} assume 0 == ~cond; {1174#false} is VALID [2022-04-27 13:43:59,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {1174#false} assume !false; {1174#false} is VALID [2022-04-27 13:43:59,441 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:43:59,441 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:43:59,442 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:43:59,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1520764660] [2022-04-27 13:43:59,442 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:43:59,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [671863881] [2022-04-27 13:43:59,442 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [671863881] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:43:59,442 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:43:59,442 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:43:59,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766719719] [2022-04-27 13:43:59,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:43:59,443 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-27 13:43:59,443 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:43:59,444 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:43:59,472 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:43:59,473 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:43:59,473 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:43:59,473 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:43:59,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:43:59,474 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:43:59,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:59,616 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-27 13:43:59,616 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:43:59,616 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-27 13:43:59,616 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:43:59,616 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:43:59,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:43:59,618 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:43:59,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:43:59,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-27 13:43:59,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:43:59,685 INFO L225 Difference]: With dead ends: 70 [2022-04-27 13:43:59,685 INFO L226 Difference]: Without dead ends: 63 [2022-04-27 13:43:59,686 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:43:59,686 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 3 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:43:59,687 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 105 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:43:59,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-27 13:43:59,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-27 13:43:59,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:43:59,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:59,700 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:59,700 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:59,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:59,702 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-27 13:43:59,702 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-27 13:43:59,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:59,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:59,703 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-27 13:43:59,703 INFO L87 Difference]: Start difference. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-27 13:43:59,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:43:59,706 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-27 13:43:59,706 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-27 13:43:59,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:43:59,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:43:59,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:43:59,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:43:59,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:43:59,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 72 transitions. [2022-04-27 13:43:59,709 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 72 transitions. Word has length 30 [2022-04-27 13:43:59,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:43:59,709 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 72 transitions. [2022-04-27 13:43:59,710 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:43:59,710 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-27 13:43:59,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-27 13:43:59,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:43:59,710 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] [2022-04-27 13:43:59,739 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:43:59,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-04-27 13:43:59,932 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:43:59,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:43:59,932 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 1 times [2022-04-27 13:43:59,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:43:59,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [87953488] [2022-04-27 13:43:59,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:59,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:43:59,943 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:43:59,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1622407408] [2022-04-27 13:43:59,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:43:59,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:43:59,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:43:59,945 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:43:59,946 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:43:59,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:43:59,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:44:00,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:00,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:02,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {1580#true} call ULTIMATE.init(); {1580#true} is VALID [2022-04-27 13:44:02,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {1580#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);~counter~0 := 0; {1580#true} is VALID [2022-04-27 13:44:02,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-04-27 13:44:02,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1580#true} {1580#true} #92#return; {1580#true} is VALID [2022-04-27 13:44:02,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {1580#true} call #t~ret7 := main(); {1580#true} is VALID [2022-04-27 13:44:02,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {1580#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,302 INFO L290 TraceCheckUtils]: 6: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post5 < 100);havoc #t~post5; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,302 INFO L272 TraceCheckUtils]: 8: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1580#true} is VALID [2022-04-27 13:44:02,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-04-27 13:44:02,303 INFO L290 TraceCheckUtils]: 10: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-04-27 13:44:02,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-04-27 13:44:02,303 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1580#true} {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,304 INFO L272 TraceCheckUtils]: 13: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1580#true} is VALID [2022-04-27 13:44:02,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-04-27 13:44:02,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-04-27 13:44:02,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-04-27 13:44:02,305 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1580#true} {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,305 INFO L272 TraceCheckUtils]: 18: Hoare triple {1600#(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)); {1580#true} is VALID [2022-04-27 13:44:02,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-04-27 13:44:02,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-04-27 13:44:02,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-04-27 13:44:02,306 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1580#true} {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,307 INFO L290 TraceCheckUtils]: 24: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,308 INFO L290 TraceCheckUtils]: 25: Hoare triple {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {1600#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:44:02,308 INFO L272 TraceCheckUtils]: 26: Hoare triple {1600#(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)); {1664#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:02,309 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1668#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:02,309 INFO L290 TraceCheckUtils]: 28: Hoare triple {1668#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1581#false} is VALID [2022-04-27 13:44:02,309 INFO L290 TraceCheckUtils]: 29: Hoare triple {1581#false} assume !false; {1581#false} is VALID [2022-04-27 13:44:02,310 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:44:02,310 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:44:02,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:02,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [87953488] [2022-04-27 13:44:02,310 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:02,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1622407408] [2022-04-27 13:44:02,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1622407408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:44:02,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:44:02,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:44:02,311 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [953768905] [2022-04-27 13:44:02,311 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:44:02,311 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 30 [2022-04-27 13:44:02,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:02,312 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:44:02,334 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:44:02,334 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:44:02,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:02,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:44:02,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:44:02,335 INFO L87 Difference]: Start difference. First operand 62 states and 72 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:44:02,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:02,577 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-27 13:44:02,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:44:02,577 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 30 [2022-04-27 13:44:02,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:02,578 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:44:02,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:44:02,580 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:44:02,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:44:02,581 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-27 13:44:02,633 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:44:02,635 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:44:02,635 INFO L226 Difference]: Without dead ends: 64 [2022-04-27 13:44:02,635 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 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:44:02,636 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 11 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 95 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.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:02,636 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 95 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:44:02,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-27 13:44:02,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-27 13:44:02,672 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:02,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:44:02,674 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:44:02,674 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:44:02,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:02,679 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-27 13:44:02,679 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:44:02,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:02,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:02,680 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-27 13:44:02,680 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-27 13:44:02,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:02,683 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-27 13:44:02,683 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:44:02,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:02,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:02,685 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:02,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:02,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:44:02,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-04-27 13:44:02,689 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 30 [2022-04-27 13:44:02,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:02,691 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-04-27 13:44:02,691 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:44:02,691 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-27 13:44:02,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 13:44:02,693 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:02,693 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:44:02,722 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-27 13:44:02,907 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:02,907 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:02,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:02,908 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 1 times [2022-04-27 13:44:02,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:02,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1188144163] [2022-04-27 13:44:02,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:02,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:02,924 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:02,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1090733510] [2022-04-27 13:44:02,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:02,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:02,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:02,929 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:44:02,958 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:44:02,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:02,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:44:02,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:03,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:03,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-27 13:44:03,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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);~counter~0 := 0; {2008#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:03,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {2008#(<= ~counter~0 0)} assume true; {2008#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:03,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2008#(<= ~counter~0 0)} {2000#true} #92#return; {2008#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:03,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {2008#(<= ~counter~0 0)} call #t~ret7 := main(); {2008#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:03,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {2008#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2008#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:03,195 INFO L290 TraceCheckUtils]: 6: Hoare triple {2008#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {2024#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,196 INFO L272 TraceCheckUtils]: 8: Hoare triple {2024#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {2024#(<= ~counter~0 1)} ~cond := #in~cond; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,196 INFO L290 TraceCheckUtils]: 10: Hoare triple {2024#(<= ~counter~0 1)} assume !(0 == ~cond); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,197 INFO L290 TraceCheckUtils]: 11: Hoare triple {2024#(<= ~counter~0 1)} assume true; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,197 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2024#(<= ~counter~0 1)} {2024#(<= ~counter~0 1)} #78#return; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,198 INFO L272 TraceCheckUtils]: 13: Hoare triple {2024#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {2024#(<= ~counter~0 1)} ~cond := #in~cond; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {2024#(<= ~counter~0 1)} assume !(0 == ~cond); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {2024#(<= ~counter~0 1)} assume true; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,201 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2024#(<= ~counter~0 1)} {2024#(<= ~counter~0 1)} #80#return; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,202 INFO L272 TraceCheckUtils]: 18: Hoare triple {2024#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,202 INFO L290 TraceCheckUtils]: 19: Hoare triple {2024#(<= ~counter~0 1)} ~cond := #in~cond; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {2024#(<= ~counter~0 1)} assume !(0 == ~cond); {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {2024#(<= ~counter~0 1)} assume true; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,204 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2024#(<= ~counter~0 1)} {2024#(<= ~counter~0 1)} #82#return; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {2024#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2024#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:03,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {2024#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2079#(<= |main_#t~post5| 1)} is VALID [2022-04-27 13:44:03,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {2079#(<= |main_#t~post5| 1)} assume !(#t~post5 < 100);havoc #t~post5; {2001#false} is VALID [2022-04-27 13:44:03,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {2001#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2001#false} is VALID [2022-04-27 13:44:03,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {2001#false} assume !(#t~post6 < 100);havoc #t~post6; {2001#false} is VALID [2022-04-27 13:44:03,206 INFO L272 TraceCheckUtils]: 28: Hoare triple {2001#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2001#false} is VALID [2022-04-27 13:44:03,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {2001#false} ~cond := #in~cond; {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {2001#false} assume !(0 == ~cond); {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {2001#false} assume true; {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2001#false} {2001#false} #88#return; {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L272 TraceCheckUtils]: 33: Hoare triple {2001#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {2001#false} ~cond := #in~cond; {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {2001#false} assume 0 == ~cond; {2001#false} is VALID [2022-04-27 13:44:03,207 INFO L290 TraceCheckUtils]: 36: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-27 13:44:03,208 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-27 13:44:03,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:03,440 INFO L290 TraceCheckUtils]: 36: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-27 13:44:03,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {2001#false} assume 0 == ~cond; {2001#false} is VALID [2022-04-27 13:44:03,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {2001#false} ~cond := #in~cond; {2001#false} is VALID [2022-04-27 13:44:03,441 INFO L272 TraceCheckUtils]: 33: Hoare triple {2001#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2001#false} is VALID [2022-04-27 13:44:03,441 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2000#true} {2001#false} #88#return; {2001#false} is VALID [2022-04-27 13:44:03,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-27 13:44:03,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-27 13:44:03,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-27 13:44:03,442 INFO L272 TraceCheckUtils]: 28: Hoare triple {2001#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2000#true} is VALID [2022-04-27 13:44:03,442 INFO L290 TraceCheckUtils]: 27: Hoare triple {2001#false} assume !(#t~post6 < 100);havoc #t~post6; {2001#false} is VALID [2022-04-27 13:44:03,442 INFO L290 TraceCheckUtils]: 26: Hoare triple {2001#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2001#false} is VALID [2022-04-27 13:44:03,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {2149#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {2001#false} is VALID [2022-04-27 13:44:03,447 INFO L290 TraceCheckUtils]: 24: Hoare triple {2153#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2149#(< |main_#t~post5| 100)} is VALID [2022-04-27 13:44:03,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {2153#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,448 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2000#true} {2153#(< ~counter~0 100)} #82#return; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-27 13:44:03,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-27 13:44:03,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-27 13:44:03,449 INFO L272 TraceCheckUtils]: 18: Hoare triple {2153#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2000#true} is VALID [2022-04-27 13:44:03,449 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2000#true} {2153#(< ~counter~0 100)} #80#return; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-27 13:44:03,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-27 13:44:03,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-27 13:44:03,449 INFO L272 TraceCheckUtils]: 13: Hoare triple {2153#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2000#true} is VALID [2022-04-27 13:44:03,450 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2000#true} {2153#(< ~counter~0 100)} #78#return; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-27 13:44:03,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-27 13:44:03,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-27 13:44:03,450 INFO L272 TraceCheckUtils]: 8: Hoare triple {2153#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2000#true} is VALID [2022-04-27 13:44:03,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {2153#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,451 INFO L290 TraceCheckUtils]: 6: Hoare triple {2208#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2153#(< ~counter~0 100)} is VALID [2022-04-27 13:44:03,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {2208#(< ~counter~0 99)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2208#(< ~counter~0 99)} is VALID [2022-04-27 13:44:03,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {2208#(< ~counter~0 99)} call #t~ret7 := main(); {2208#(< ~counter~0 99)} is VALID [2022-04-27 13:44:03,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2208#(< ~counter~0 99)} {2000#true} #92#return; {2208#(< ~counter~0 99)} is VALID [2022-04-27 13:44:03,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {2208#(< ~counter~0 99)} assume true; {2208#(< ~counter~0 99)} is VALID [2022-04-27 13:44:03,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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);~counter~0 := 0; {2208#(< ~counter~0 99)} is VALID [2022-04-27 13:44:03,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-27 13:44:03,454 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:44:03,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:03,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1188144163] [2022-04-27 13:44:03,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:03,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1090733510] [2022-04-27 13:44:03,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1090733510] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:44:03,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:44:03,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 13:44:03,455 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154329929] [2022-04-27 13:44:03,455 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:44:03,456 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 37 [2022-04-27 13:44:03,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:03,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:44:03,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:03,510 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:44:03,511 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:03,511 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:44:03,511 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:44:03,511 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:44:03,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:03,824 INFO L93 Difference]: Finished difference Result 144 states and 177 transitions. [2022-04-27 13:44:03,824 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:44:03,825 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 37 [2022-04-27 13:44:03,825 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:03,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:44:03,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:44:03,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:44:03,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:44:03,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-27 13:44:03,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:03,957 INFO L225 Difference]: With dead ends: 144 [2022-04-27 13:44:03,958 INFO L226 Difference]: Without dead ends: 119 [2022-04-27 13:44:03,961 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:44:03,962 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 41 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:03,962 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 149 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:44:03,963 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-27 13:44:04,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 112. [2022-04-27 13:44:04,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:04,017 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:44:04,018 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:44:04,021 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:44:04,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:04,027 INFO L93 Difference]: Finished difference Result 119 states and 139 transitions. [2022-04-27 13:44:04,027 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 139 transitions. [2022-04-27 13:44:04,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:04,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:04,028 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 119 states. [2022-04-27 13:44:04,028 INFO L87 Difference]: Start difference. First operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 119 states. [2022-04-27 13:44:04,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:04,033 INFO L93 Difference]: Finished difference Result 119 states and 139 transitions. [2022-04-27 13:44:04,033 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 139 transitions. [2022-04-27 13:44:04,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:04,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:04,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:04,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:04,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 71 states have (on average 1.2112676056338028) internal successors, (86), 74 states have internal predecessors, (86), 25 states have call successors, (25), 16 states have call predecessors, (25), 15 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:44:04,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 133 transitions. [2022-04-27 13:44:04,040 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 133 transitions. Word has length 37 [2022-04-27 13:44:04,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:04,041 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 133 transitions. [2022-04-27 13:44:04,041 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 states have internal predecessors, (29), 6 states have call successors, (12), 5 states have call predecessors, (12), 5 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:44:04,041 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 133 transitions. [2022-04-27 13:44:04,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 13:44:04,041 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:04,042 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:44:04,072 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:44:04,255 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:04,256 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:04,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:04,256 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 1 times [2022-04-27 13:44:04,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:04,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [557071622] [2022-04-27 13:44:04,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:04,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:04,274 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:04,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [872880056] [2022-04-27 13:44:04,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:04,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:04,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:04,278 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:44:04,281 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:44:04,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:04,323 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:44:04,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:04,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:04,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {2830#true} call ULTIMATE.init(); {2830#true} is VALID [2022-04-27 13:44:04,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {2830#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);~counter~0 := 0; {2830#true} is VALID [2022-04-27 13:44:04,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2830#true} {2830#true} #92#return; {2830#true} is VALID [2022-04-27 13:44:04,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {2830#true} call #t~ret7 := main(); {2830#true} is VALID [2022-04-27 13:44:04,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {2830#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,571 INFO L290 TraceCheckUtils]: 6: Hoare triple {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,572 INFO L272 TraceCheckUtils]: 8: Hoare triple {2850#(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)); {2830#true} is VALID [2022-04-27 13:44:04,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,572 INFO L290 TraceCheckUtils]: 10: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,572 INFO L290 TraceCheckUtils]: 11: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,573 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2830#true} {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,573 INFO L272 TraceCheckUtils]: 13: Hoare triple {2850#(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)); {2830#true} is VALID [2022-04-27 13:44:04,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,579 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2830#true} {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,579 INFO L272 TraceCheckUtils]: 18: Hoare triple {2850#(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)); {2830#true} is VALID [2022-04-27 13:44:04,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,581 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2830#true} {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2850#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:04,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {2850#(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; {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:44:04,582 INFO L290 TraceCheckUtils]: 24: Hoare triple {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:44:04,582 INFO L290 TraceCheckUtils]: 25: Hoare triple {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:44:04,582 INFO L272 TraceCheckUtils]: 26: Hoare triple {2905#(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)); {2830#true} is VALID [2022-04-27 13:44:04,582 INFO L290 TraceCheckUtils]: 27: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,583 INFO L290 TraceCheckUtils]: 28: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,583 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2830#true} {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:44:04,583 INFO L272 TraceCheckUtils]: 31: Hoare triple {2905#(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)); {2830#true} is VALID [2022-04-27 13:44:04,584 INFO L290 TraceCheckUtils]: 32: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,584 INFO L290 TraceCheckUtils]: 33: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,584 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {2830#true} {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {2905#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:44:04,585 INFO L272 TraceCheckUtils]: 36: Hoare triple {2905#(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)); {2945#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:04,586 INFO L290 TraceCheckUtils]: 37: Hoare triple {2945#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2949#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:04,586 INFO L290 TraceCheckUtils]: 38: Hoare triple {2949#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2831#false} is VALID [2022-04-27 13:44:04,586 INFO L290 TraceCheckUtils]: 39: Hoare triple {2831#false} assume !false; {2831#false} is VALID [2022-04-27 13:44:04,586 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:44:04,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:04,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {2831#false} assume !false; {2831#false} is VALID [2022-04-27 13:44:04,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {2949#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2831#false} is VALID [2022-04-27 13:44:04,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {2945#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2949#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:04,780 INFO L272 TraceCheckUtils]: 36: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2945#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:04,781 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {2830#true} {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,781 INFO L272 TraceCheckUtils]: 31: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2830#true} is VALID [2022-04-27 13:44:04,782 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2830#true} {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,782 INFO L290 TraceCheckUtils]: 28: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,782 INFO L272 TraceCheckUtils]: 26: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2830#true} is VALID [2022-04-27 13:44:04,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 100);havoc #t~post5; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,786 INFO L290 TraceCheckUtils]: 23: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,787 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2830#true} {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,788 INFO L272 TraceCheckUtils]: 18: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2830#true} is VALID [2022-04-27 13:44:04,788 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2830#true} {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,788 INFO L290 TraceCheckUtils]: 16: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,789 INFO L272 TraceCheckUtils]: 13: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2830#true} is VALID [2022-04-27 13:44:04,789 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2830#true} {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,789 INFO L290 TraceCheckUtils]: 10: Hoare triple {2830#true} assume !(0 == ~cond); {2830#true} is VALID [2022-04-27 13:44:04,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {2830#true} ~cond := #in~cond; {2830#true} is VALID [2022-04-27 13:44:04,790 INFO L272 TraceCheckUtils]: 8: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2830#true} is VALID [2022-04-27 13:44:04,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 100);havoc #t~post5; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,790 INFO L290 TraceCheckUtils]: 6: Hoare triple {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {2830#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2965#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:44:04,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {2830#true} call #t~ret7 := main(); {2830#true} is VALID [2022-04-27 13:44:04,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2830#true} {2830#true} #92#return; {2830#true} is VALID [2022-04-27 13:44:04,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {2830#true} assume true; {2830#true} is VALID [2022-04-27 13:44:04,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {2830#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);~counter~0 := 0; {2830#true} is VALID [2022-04-27 13:44:04,795 INFO L272 TraceCheckUtils]: 0: Hoare triple {2830#true} call ULTIMATE.init(); {2830#true} is VALID [2022-04-27 13:44:04,795 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:44:04,795 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:04,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [557071622] [2022-04-27 13:44:04,795 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:04,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [872880056] [2022-04-27 13:44:04,795 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [872880056] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:44:04,795 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:44:04,796 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 13:44:04,796 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [881148212] [2022-04-27 13:44:04,796 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:44:04,796 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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 40 [2022-04-27 13:44:04,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:04,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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:44:04,817 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:44:04,818 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:44:04,818 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:04,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:44:04,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:44:04,818 INFO L87 Difference]: Start difference. First operand 112 states and 133 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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:44:07,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:07,116 INFO L93 Difference]: Finished difference Result 129 states and 154 transitions. [2022-04-27 13:44:07,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:44:07,117 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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 40 [2022-04-27 13:44:07,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:07,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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:44:07,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:44:07,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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:44:07,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:44:07,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:44:07,171 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:44:07,174 INFO L225 Difference]: With dead ends: 129 [2022-04-27 13:44:07,174 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 13:44:07,175 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:44:07,175 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:07,175 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 103 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:44:07,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 13:44:07,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 122. [2022-04-27 13:44:07,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:07,213 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:44:07,213 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:44:07,213 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:44:07,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:07,218 INFO L93 Difference]: Finished difference Result 125 states and 148 transitions. [2022-04-27 13:44:07,218 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 148 transitions. [2022-04-27 13:44:07,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:07,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:07,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 125 states. [2022-04-27 13:44:07,219 INFO L87 Difference]: Start difference. First operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 125 states. [2022-04-27 13:44:07,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:07,223 INFO L93 Difference]: Finished difference Result 125 states and 148 transitions. [2022-04-27 13:44:07,223 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 148 transitions. [2022-04-27 13:44:07,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:07,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:07,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:07,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:07,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 78 states have (on average 1.1794871794871795) internal successors, (92), 81 states have internal predecessors, (92), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:44:07,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 143 transitions. [2022-04-27 13:44:07,228 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 143 transitions. Word has length 40 [2022-04-27 13:44:07,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:07,228 INFO L495 AbstractCegarLoop]: Abstraction has 122 states and 143 transitions. [2022-04-27 13:44:07,228 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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:44:07,228 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 143 transitions. [2022-04-27 13:44:07,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-27 13:44:07,229 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:07,229 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 2, 2, 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:44:07,260 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:44:07,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:07,452 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:07,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:07,452 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 1 times [2022-04-27 13:44:07,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:07,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1174461222] [2022-04-27 13:44:07,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:07,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:07,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:07,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1291979330] [2022-04-27 13:44:07,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:07,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:07,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:07,465 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:44:07,475 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:44:07,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:07,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:44:07,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:07,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:07,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {3681#true} call ULTIMATE.init(); {3681#true} is VALID [2022-04-27 13:44:07,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {3681#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);~counter~0 := 0; {3689#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:07,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {3689#(<= ~counter~0 0)} assume true; {3689#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:07,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3689#(<= ~counter~0 0)} {3681#true} #92#return; {3689#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:07,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {3689#(<= ~counter~0 0)} call #t~ret7 := main(); {3689#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:07,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {3689#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3689#(<= ~counter~0 0)} is VALID [2022-04-27 13:44:07,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {3689#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {3705#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,830 INFO L272 TraceCheckUtils]: 8: Hoare triple {3705#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {3705#(<= ~counter~0 1)} ~cond := #in~cond; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,831 INFO L290 TraceCheckUtils]: 10: Hoare triple {3705#(<= ~counter~0 1)} assume !(0 == ~cond); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {3705#(<= ~counter~0 1)} assume true; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,832 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3705#(<= ~counter~0 1)} {3705#(<= ~counter~0 1)} #78#return; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,832 INFO L272 TraceCheckUtils]: 13: Hoare triple {3705#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {3705#(<= ~counter~0 1)} ~cond := #in~cond; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {3705#(<= ~counter~0 1)} assume !(0 == ~cond); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,833 INFO L290 TraceCheckUtils]: 16: Hoare triple {3705#(<= ~counter~0 1)} assume true; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,833 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3705#(<= ~counter~0 1)} {3705#(<= ~counter~0 1)} #80#return; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,834 INFO L272 TraceCheckUtils]: 18: Hoare triple {3705#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {3705#(<= ~counter~0 1)} ~cond := #in~cond; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {3705#(<= ~counter~0 1)} assume !(0 == ~cond); {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {3705#(<= ~counter~0 1)} assume true; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,835 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3705#(<= ~counter~0 1)} {3705#(<= ~counter~0 1)} #82#return; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {3705#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3705#(<= ~counter~0 1)} is VALID [2022-04-27 13:44:07,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {3705#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {3760#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,837 INFO L272 TraceCheckUtils]: 26: Hoare triple {3760#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {3760#(<= ~counter~0 2)} ~cond := #in~cond; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,837 INFO L290 TraceCheckUtils]: 28: Hoare triple {3760#(<= ~counter~0 2)} assume !(0 == ~cond); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {3760#(<= ~counter~0 2)} assume true; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,838 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3760#(<= ~counter~0 2)} {3760#(<= ~counter~0 2)} #78#return; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,838 INFO L272 TraceCheckUtils]: 31: Hoare triple {3760#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {3760#(<= ~counter~0 2)} ~cond := #in~cond; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {3760#(<= ~counter~0 2)} assume !(0 == ~cond); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,839 INFO L290 TraceCheckUtils]: 34: Hoare triple {3760#(<= ~counter~0 2)} assume true; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,840 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3760#(<= ~counter~0 2)} {3760#(<= ~counter~0 2)} #80#return; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,840 INFO L272 TraceCheckUtils]: 36: Hoare triple {3760#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {3760#(<= ~counter~0 2)} ~cond := #in~cond; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,841 INFO L290 TraceCheckUtils]: 38: Hoare triple {3760#(<= ~counter~0 2)} assume !(0 == ~cond); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {3760#(<= ~counter~0 2)} assume true; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,841 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3760#(<= ~counter~0 2)} {3760#(<= ~counter~0 2)} #82#return; {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,842 INFO L290 TraceCheckUtils]: 41: Hoare triple {3760#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {3760#(<= ~counter~0 2)} is VALID [2022-04-27 13:44:07,842 INFO L290 TraceCheckUtils]: 42: Hoare triple {3760#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3815#(<= |main_#t~post6| 2)} is VALID [2022-04-27 13:44:07,842 INFO L290 TraceCheckUtils]: 43: Hoare triple {3815#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L272 TraceCheckUtils]: 44: Hoare triple {3682#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {3682#false} ~cond := #in~cond; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {3682#false} assume !(0 == ~cond); {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 47: Hoare triple {3682#false} assume true; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3682#false} {3682#false} #88#return; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L272 TraceCheckUtils]: 49: Hoare triple {3682#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 50: Hoare triple {3682#false} ~cond := #in~cond; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 51: Hoare triple {3682#false} assume 0 == ~cond; {3682#false} is VALID [2022-04-27 13:44:07,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {3682#false} assume !false; {3682#false} is VALID [2022-04-27 13:44:07,844 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-27 13:44:07,844 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:08,142 INFO L290 TraceCheckUtils]: 52: Hoare triple {3682#false} assume !false; {3682#false} is VALID [2022-04-27 13:44:08,142 INFO L290 TraceCheckUtils]: 51: Hoare triple {3682#false} assume 0 == ~cond; {3682#false} is VALID [2022-04-27 13:44:08,143 INFO L290 TraceCheckUtils]: 50: Hoare triple {3682#false} ~cond := #in~cond; {3682#false} is VALID [2022-04-27 13:44:08,143 INFO L272 TraceCheckUtils]: 49: Hoare triple {3682#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3682#false} is VALID [2022-04-27 13:44:08,143 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3681#true} {3682#false} #88#return; {3682#false} is VALID [2022-04-27 13:44:08,143 INFO L290 TraceCheckUtils]: 47: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,143 INFO L290 TraceCheckUtils]: 46: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,143 INFO L290 TraceCheckUtils]: 45: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,143 INFO L272 TraceCheckUtils]: 44: Hoare triple {3682#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,144 INFO L290 TraceCheckUtils]: 43: Hoare triple {3873#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3682#false} is VALID [2022-04-27 13:44:08,145 INFO L290 TraceCheckUtils]: 42: Hoare triple {3877#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3873#(< |main_#t~post6| 100)} is VALID [2022-04-27 13:44:08,151 INFO L290 TraceCheckUtils]: 41: Hoare triple {3877#(< ~counter~0 100)} assume !(~r~0 >= ~d~0); {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,152 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3681#true} {3877#(< ~counter~0 100)} #82#return; {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,153 INFO L272 TraceCheckUtils]: 36: Hoare triple {3877#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,154 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3681#true} {3877#(< ~counter~0 100)} #80#return; {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,155 INFO L290 TraceCheckUtils]: 32: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,155 INFO L272 TraceCheckUtils]: 31: Hoare triple {3877#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,156 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3681#true} {3877#(< ~counter~0 100)} #78#return; {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,157 INFO L290 TraceCheckUtils]: 28: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,157 INFO L272 TraceCheckUtils]: 26: Hoare triple {3877#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {3877#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,158 INFO L290 TraceCheckUtils]: 24: Hoare triple {3932#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3877#(< ~counter~0 100)} is VALID [2022-04-27 13:44:08,159 INFO L290 TraceCheckUtils]: 23: Hoare triple {3932#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,159 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3681#true} {3932#(< ~counter~0 99)} #82#return; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,160 INFO L290 TraceCheckUtils]: 21: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,160 INFO L290 TraceCheckUtils]: 19: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,160 INFO L272 TraceCheckUtils]: 18: Hoare triple {3932#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,161 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3681#true} {3932#(< ~counter~0 99)} #80#return; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,165 INFO L290 TraceCheckUtils]: 16: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,165 INFO L272 TraceCheckUtils]: 13: Hoare triple {3932#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,166 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3681#true} {3932#(< ~counter~0 99)} #78#return; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {3681#true} assume true; {3681#true} is VALID [2022-04-27 13:44:08,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {3681#true} assume !(0 == ~cond); {3681#true} is VALID [2022-04-27 13:44:08,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {3681#true} ~cond := #in~cond; {3681#true} is VALID [2022-04-27 13:44:08,166 INFO L272 TraceCheckUtils]: 8: Hoare triple {3932#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3681#true} is VALID [2022-04-27 13:44:08,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {3932#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {3987#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3932#(< ~counter~0 99)} is VALID [2022-04-27 13:44:08,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {3987#(< ~counter~0 98)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3987#(< ~counter~0 98)} is VALID [2022-04-27 13:44:08,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {3987#(< ~counter~0 98)} call #t~ret7 := main(); {3987#(< ~counter~0 98)} is VALID [2022-04-27 13:44:08,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3987#(< ~counter~0 98)} {3681#true} #92#return; {3987#(< ~counter~0 98)} is VALID [2022-04-27 13:44:08,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {3987#(< ~counter~0 98)} assume true; {3987#(< ~counter~0 98)} is VALID [2022-04-27 13:44:08,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {3681#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);~counter~0 := 0; {3987#(< ~counter~0 98)} is VALID [2022-04-27 13:44:08,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {3681#true} call ULTIMATE.init(); {3681#true} is VALID [2022-04-27 13:44:08,170 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-27 13:44:08,170 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:08,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1174461222] [2022-04-27 13:44:08,170 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:08,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1291979330] [2022-04-27 13:44:08,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1291979330] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:44:08,170 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:44:08,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-27 13:44:08,171 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [58334301] [2022-04-27 13:44:08,171 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:44:08,171 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 53 [2022-04-27 13:44:08,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:08,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:44:08,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:08,222 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:44:08,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:08,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:44:08,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:44:08,223 INFO L87 Difference]: Start difference. First operand 122 states and 143 transitions. Second operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:44:08,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:08,862 INFO L93 Difference]: Finished difference Result 245 states and 298 transitions. [2022-04-27 13:44:08,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:44:08,863 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 53 [2022-04-27 13:44:08,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:08,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:44:08,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 161 transitions. [2022-04-27 13:44:08,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:44:08,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 161 transitions. [2022-04-27 13:44:08,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 161 transitions. [2022-04-27 13:44:08,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:09,007 INFO L225 Difference]: With dead ends: 245 [2022-04-27 13:44:09,007 INFO L226 Difference]: Without dead ends: 224 [2022-04-27 13:44:09,008 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:44:09,009 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 100 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 100 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:09,010 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [100 Valid, 222 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:44:09,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-27 13:44:09,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 217. [2022-04-27 13:44:09,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:09,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:44:09,085 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:44:09,086 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:44:09,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:09,092 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-27 13:44:09,092 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-27 13:44:09,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:09,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:09,094 INFO L74 IsIncluded]: Start isIncluded. First operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) Second operand 224 states. [2022-04-27 13:44:09,094 INFO L87 Difference]: Start difference. First operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) Second operand 224 states. [2022-04-27 13:44:09,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:09,101 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-27 13:44:09,101 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-27 13:44:09,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:09,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:09,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:09,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:09,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 217 states, 139 states have (on average 1.1942446043165467) internal successors, (166), 148 states have internal predecessors, (166), 51 states have call successors, (51), 28 states have call predecessors, (51), 26 states have return successors, (46), 40 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:44:09,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 217 states to 217 states and 263 transitions. [2022-04-27 13:44:09,108 INFO L78 Accepts]: Start accepts. Automaton has 217 states and 263 transitions. Word has length 53 [2022-04-27 13:44:09,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:09,109 INFO L495 AbstractCegarLoop]: Abstraction has 217 states and 263 transitions. [2022-04-27 13:44:09,109 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 10 states have internal predecessors, (36), 8 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:44:09,109 INFO L276 IsEmpty]: Start isEmpty. Operand 217 states and 263 transitions. [2022-04-27 13:44:09,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-27 13:44:09,110 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:09,110 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 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] [2022-04-27 13:44:09,137 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:44:09,326 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:09,327 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:09,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:09,327 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 1 times [2022-04-27 13:44:09,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:09,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76403632] [2022-04-27 13:44:09,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:09,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:09,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:09,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2041526533] [2022-04-27 13:44:09,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:09,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:09,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:09,373 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:44:09,391 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:44:09,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:09,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:44:09,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:09,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:09,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {5104#true} call ULTIMATE.init(); {5104#true} is VALID [2022-04-27 13:44:09,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {5104#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);~counter~0 := 0; {5104#true} is VALID [2022-04-27 13:44:09,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5104#true} {5104#true} #92#return; {5104#true} is VALID [2022-04-27 13:44:09,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {5104#true} call #t~ret7 := main(); {5104#true} is VALID [2022-04-27 13:44:09,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {5104#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5124#(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:44:09,956 INFO L290 TraceCheckUtils]: 6: Hoare triple {5124#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5124#(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:44:09,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {5124#(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 !!(#t~post5 < 100);havoc #t~post5; {5124#(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:44:09,956 INFO L272 TraceCheckUtils]: 8: Hoare triple {5124#(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)); {5104#true} is VALID [2022-04-27 13:44:09,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,957 INFO L290 TraceCheckUtils]: 10: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,957 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5104#true} {5124#(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))} #78#return; {5124#(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:44:09,957 INFO L272 TraceCheckUtils]: 13: Hoare triple {5124#(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)); {5104#true} is VALID [2022-04-27 13:44:09,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,958 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5104#true} {5124#(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; {5124#(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:44:09,958 INFO L272 TraceCheckUtils]: 18: Hoare triple {5124#(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)); {5104#true} is VALID [2022-04-27 13:44:09,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,959 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5104#true} {5124#(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; {5124#(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:44:09,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {5124#(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; {5179#(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:44:09,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {5179#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5179#(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:44:09,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {5179#(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 !!(#t~post5 < 100);havoc #t~post5; {5179#(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:44:09,961 INFO L272 TraceCheckUtils]: 26: Hoare triple {5179#(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)); {5104#true} is VALID [2022-04-27 13:44:09,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,962 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5104#true} {5179#(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))} #78#return; {5179#(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:44:09,962 INFO L272 TraceCheckUtils]: 31: Hoare triple {5179#(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)); {5104#true} is VALID [2022-04-27 13:44:09,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,963 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5104#true} {5179#(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; {5179#(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:44:09,963 INFO L272 TraceCheckUtils]: 36: Hoare triple {5179#(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)); {5104#true} is VALID [2022-04-27 13:44:09,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,964 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5104#true} {5179#(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; {5179#(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:44:09,964 INFO L290 TraceCheckUtils]: 41: Hoare triple {5179#(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); {5179#(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:44:09,965 INFO L290 TraceCheckUtils]: 42: Hoare triple {5179#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5179#(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:44:09,965 INFO L290 TraceCheckUtils]: 43: Hoare triple {5179#(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 !!(#t~post6 < 100);havoc #t~post6; {5179#(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:44:09,965 INFO L272 TraceCheckUtils]: 44: Hoare triple {5179#(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)); {5104#true} is VALID [2022-04-27 13:44:09,965 INFO L290 TraceCheckUtils]: 45: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,965 INFO L290 TraceCheckUtils]: 46: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,965 INFO L290 TraceCheckUtils]: 47: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,966 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5104#true} {5179#(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; {5179#(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:44:09,966 INFO L272 TraceCheckUtils]: 49: Hoare triple {5179#(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)); {5104#true} is VALID [2022-04-27 13:44:09,966 INFO L290 TraceCheckUtils]: 50: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:09,966 INFO L290 TraceCheckUtils]: 51: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:09,966 INFO L290 TraceCheckUtils]: 52: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:09,967 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5104#true} {5179#(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; {5179#(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:44:09,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {5179#(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); {5124#(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:44:09,968 INFO L290 TraceCheckUtils]: 55: Hoare triple {5124#(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; {5276#(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:44:09,969 INFO L290 TraceCheckUtils]: 56: Hoare triple {5276#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5276#(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:44:09,969 INFO L290 TraceCheckUtils]: 57: Hoare triple {5276#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {5276#(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:44:09,970 INFO L272 TraceCheckUtils]: 58: Hoare triple {5276#(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)); {5286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:09,970 INFO L290 TraceCheckUtils]: 59: Hoare triple {5286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:09,970 INFO L290 TraceCheckUtils]: 60: Hoare triple {5290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5105#false} is VALID [2022-04-27 13:44:09,971 INFO L290 TraceCheckUtils]: 61: Hoare triple {5105#false} assume !false; {5105#false} is VALID [2022-04-27 13:44:09,971 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:44:09,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:11,465 INFO L290 TraceCheckUtils]: 61: Hoare triple {5105#false} assume !false; {5105#false} is VALID [2022-04-27 13:44:11,466 INFO L290 TraceCheckUtils]: 60: Hoare triple {5290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5105#false} is VALID [2022-04-27 13:44:11,466 INFO L290 TraceCheckUtils]: 59: Hoare triple {5286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:11,467 INFO L272 TraceCheckUtils]: 58: Hoare triple {5306#(= (+ (* 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)); {5286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:11,467 INFO L290 TraceCheckUtils]: 57: Hoare triple {5306#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 100);havoc #t~post6; {5306#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:11,468 INFO L290 TraceCheckUtils]: 56: Hoare triple {5306#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5306#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:11,486 INFO L290 TraceCheckUtils]: 55: Hoare triple {5316#(= 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; {5306#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:11,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {5320#(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); {5316#(= 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:44:11,511 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5104#true} {5320#(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; {5320#(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:44:11,511 INFO L290 TraceCheckUtils]: 52: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,511 INFO L290 TraceCheckUtils]: 51: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,511 INFO L290 TraceCheckUtils]: 50: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,511 INFO L272 TraceCheckUtils]: 49: Hoare triple {5320#(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)); {5104#true} is VALID [2022-04-27 13:44:11,513 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5104#true} {5320#(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; {5320#(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:44:11,513 INFO L290 TraceCheckUtils]: 47: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,513 INFO L290 TraceCheckUtils]: 46: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,513 INFO L290 TraceCheckUtils]: 45: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,514 INFO L272 TraceCheckUtils]: 44: Hoare triple {5320#(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)); {5104#true} is VALID [2022-04-27 13:44:11,515 INFO L290 TraceCheckUtils]: 43: Hoare triple {5320#(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 !!(#t~post6 < 100);havoc #t~post6; {5320#(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:44:11,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {5320#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5320#(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:44:11,518 INFO L290 TraceCheckUtils]: 41: Hoare triple {5320#(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); {5320#(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:44:11,519 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5104#true} {5320#(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; {5320#(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:44:11,519 INFO L290 TraceCheckUtils]: 39: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,519 INFO L290 TraceCheckUtils]: 37: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,520 INFO L272 TraceCheckUtils]: 36: Hoare triple {5320#(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)); {5104#true} is VALID [2022-04-27 13:44:11,523 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5104#true} {5320#(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; {5320#(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:44:11,523 INFO L290 TraceCheckUtils]: 34: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,523 INFO L290 TraceCheckUtils]: 33: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,523 INFO L290 TraceCheckUtils]: 32: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,523 INFO L272 TraceCheckUtils]: 31: Hoare triple {5320#(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)); {5104#true} is VALID [2022-04-27 13:44:11,524 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5104#true} {5320#(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))))))))} #78#return; {5320#(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:44:11,524 INFO L290 TraceCheckUtils]: 29: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,524 INFO L290 TraceCheckUtils]: 28: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,524 INFO L272 TraceCheckUtils]: 26: Hoare triple {5320#(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)); {5104#true} is VALID [2022-04-27 13:44:11,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {5320#(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 !!(#t~post5 < 100);havoc #t~post5; {5320#(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:44:11,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {5320#(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))))))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5320#(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:44:11,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {5316#(= 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; {5320#(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:44:11,537 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5104#true} {5316#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {5316#(= 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:44:11,537 INFO L290 TraceCheckUtils]: 21: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,537 INFO L290 TraceCheckUtils]: 19: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,538 INFO L272 TraceCheckUtils]: 18: Hoare triple {5316#(= 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)); {5104#true} is VALID [2022-04-27 13:44:11,538 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5104#true} {5316#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {5316#(= 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:44:11,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,539 INFO L272 TraceCheckUtils]: 13: Hoare triple {5316#(= 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)); {5104#true} is VALID [2022-04-27 13:44:11,539 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5104#true} {5316#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {5316#(= 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:44:11,539 INFO L290 TraceCheckUtils]: 11: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,539 INFO L290 TraceCheckUtils]: 10: Hoare triple {5104#true} assume !(0 == ~cond); {5104#true} is VALID [2022-04-27 13:44:11,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {5104#true} ~cond := #in~cond; {5104#true} is VALID [2022-04-27 13:44:11,540 INFO L272 TraceCheckUtils]: 8: Hoare triple {5316#(= 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)); {5104#true} is VALID [2022-04-27 13:44:11,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {5316#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(#t~post5 < 100);havoc #t~post5; {5316#(= 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:44:11,541 INFO L290 TraceCheckUtils]: 6: Hoare triple {5316#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5316#(= 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:44:11,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {5104#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5316#(= 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:44:11,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {5104#true} call #t~ret7 := main(); {5104#true} is VALID [2022-04-27 13:44:11,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5104#true} {5104#true} #92#return; {5104#true} is VALID [2022-04-27 13:44:11,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {5104#true} assume true; {5104#true} is VALID [2022-04-27 13:44:11,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {5104#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);~counter~0 := 0; {5104#true} is VALID [2022-04-27 13:44:11,542 INFO L272 TraceCheckUtils]: 0: Hoare triple {5104#true} call ULTIMATE.init(); {5104#true} is VALID [2022-04-27 13:44:11,542 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:44:11,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:11,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76403632] [2022-04-27 13:44:11,542 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:11,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2041526533] [2022-04-27 13:44:11,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2041526533] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:44:11,543 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:44:11,543 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:44:11,545 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [6552230] [2022-04-27 13:44:11,545 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:44:11,545 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 62 [2022-04-27 13:44:11,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:11,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:44:11,671 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:11,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:44:11,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:11,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:44:11,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:44:11,672 INFO L87 Difference]: Start difference. First operand 217 states and 263 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:44:15,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:15,304 INFO L93 Difference]: Finished difference Result 371 states and 479 transitions. [2022-04-27 13:44:15,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:44:15,305 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 62 [2022-04-27 13:44:15,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:15,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:44:15,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 153 transitions. [2022-04-27 13:44:15,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:44:15,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 153 transitions. [2022-04-27 13:44:15,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 153 transitions. [2022-04-27 13:44:15,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:15,520 INFO L225 Difference]: With dead ends: 371 [2022-04-27 13:44:15,520 INFO L226 Difference]: Without dead ends: 303 [2022-04-27 13:44:15,521 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:44:15,521 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 52 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 308 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 204 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 308 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:15,522 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 204 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 308 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 13:44:15,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 303 states. [2022-04-27 13:44:15,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 303 to 274. [2022-04-27 13:44:15,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:15,627 INFO L82 GeneralOperation]: Start isEquivalent. First operand 303 states. Second operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:44:15,628 INFO L74 IsIncluded]: Start isIncluded. First operand 303 states. Second operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:44:15,628 INFO L87 Difference]: Start difference. First operand 303 states. Second operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:44:15,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:15,637 INFO L93 Difference]: Finished difference Result 303 states and 382 transitions. [2022-04-27 13:44:15,637 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 382 transitions. [2022-04-27 13:44:15,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:15,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:15,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) Second operand 303 states. [2022-04-27 13:44:15,639 INFO L87 Difference]: Start difference. First operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) Second operand 303 states. [2022-04-27 13:44:15,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:15,648 INFO L93 Difference]: Finished difference Result 303 states and 382 transitions. [2022-04-27 13:44:15,648 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 382 transitions. [2022-04-27 13:44:15,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:15,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:15,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:15,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:15,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 274 states, 185 states have (on average 1.2324324324324325) internal successors, (228), 191 states have internal predecessors, (228), 58 states have call successors, (58), 31 states have call predecessors, (58), 30 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:44:15,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 341 transitions. [2022-04-27 13:44:15,657 INFO L78 Accepts]: Start accepts. Automaton has 274 states and 341 transitions. Word has length 62 [2022-04-27 13:44:15,657 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:15,658 INFO L495 AbstractCegarLoop]: Abstraction has 274 states and 341 transitions. [2022-04-27 13:44:15,658 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 7 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:44:15,658 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 341 transitions. [2022-04-27 13:44:15,658 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-27 13:44:15,658 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:15,659 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 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] [2022-04-27 13:44:15,684 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:44:15,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:15,880 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:15,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:15,880 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 1 times [2022-04-27 13:44:15,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:15,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [579322388] [2022-04-27 13:44:15,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:15,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:15,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:15,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [481003102] [2022-04-27 13:44:15,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:15,898 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:15,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:15,899 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:44:15,931 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:44:15,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:15,964 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-27 13:44:15,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:15,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:16,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {6981#true} call ULTIMATE.init(); {6981#true} is VALID [2022-04-27 13:44:16,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {6981#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);~counter~0 := 0; {6981#true} is VALID [2022-04-27 13:44:16,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6981#true} {6981#true} #92#return; {6981#true} is VALID [2022-04-27 13:44:16,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {6981#true} call #t~ret7 := main(); {6981#true} is VALID [2022-04-27 13:44:16,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {6981#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,769 INFO L290 TraceCheckUtils]: 6: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,770 INFO L272 TraceCheckUtils]: 8: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~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)); {6981#true} is VALID [2022-04-27 13:44:16,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,770 INFO L290 TraceCheckUtils]: 10: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,771 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6981#true} {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,771 INFO L272 TraceCheckUtils]: 13: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~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)); {6981#true} is VALID [2022-04-27 13:44:16,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,772 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6981#true} {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,772 INFO L272 TraceCheckUtils]: 18: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~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)); {6981#true} is VALID [2022-04-27 13:44:16,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,772 INFO L290 TraceCheckUtils]: 21: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,773 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6981#true} {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,773 INFO L290 TraceCheckUtils]: 23: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~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; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,774 INFO L272 TraceCheckUtils]: 26: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:16,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,775 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6981#true} {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #78#return; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,775 INFO L272 TraceCheckUtils]: 31: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:16,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,776 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6981#true} {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #80#return; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,776 INFO L272 TraceCheckUtils]: 36: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:16,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,779 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6981#true} {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #82#return; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,780 INFO L290 TraceCheckUtils]: 42: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,780 INFO L272 TraceCheckUtils]: 44: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:16,781 INFO L290 TraceCheckUtils]: 45: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,781 INFO L290 TraceCheckUtils]: 46: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,781 INFO L290 TraceCheckUtils]: 47: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,781 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6981#true} {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #84#return; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,782 INFO L272 TraceCheckUtils]: 49: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:16,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:16,782 INFO L290 TraceCheckUtils]: 51: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:16,782 INFO L290 TraceCheckUtils]: 52: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:16,783 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6981#true} {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} #86#return; {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~0) (= main_~B~0 1))} is VALID [2022-04-27 13:44:16,783 INFO L290 TraceCheckUtils]: 54: Hoare triple {7056#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (<= 0 main_~q~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); {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,784 INFO L290 TraceCheckUtils]: 55: Hoare triple {7001#(and (= main_~A~0 main_~r~0) (<= 0 main_~q~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; {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,785 INFO L290 TraceCheckUtils]: 56: Hoare triple {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,785 INFO L290 TraceCheckUtils]: 57: Hoare triple {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,786 INFO L272 TraceCheckUtils]: 58: Hoare triple {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= 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)); {6981#true} is VALID [2022-04-27 13:44:16,786 INFO L290 TraceCheckUtils]: 59: Hoare triple {6981#true} ~cond := #in~cond; {7166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:16,786 INFO L290 TraceCheckUtils]: 60: Hoare triple {7166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:16,787 INFO L290 TraceCheckUtils]: 61: Hoare triple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:16,788 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} {7153#(and (<= main_~p~0 main_~q~0) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {7177#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,788 INFO L272 TraceCheckUtils]: 63: Hoare triple {7177#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~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)); {6981#true} is VALID [2022-04-27 13:44:16,788 INFO L290 TraceCheckUtils]: 64: Hoare triple {6981#true} ~cond := #in~cond; {7166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:16,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {7166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:16,789 INFO L290 TraceCheckUtils]: 66: Hoare triple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:16,790 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} {7177#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {7193#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-27 13:44:16,791 INFO L290 TraceCheckUtils]: 68: Hoare triple {7193#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {7197#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-27 13:44:16,792 INFO L272 TraceCheckUtils]: 69: Hoare triple {7197#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7201#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:16,792 INFO L290 TraceCheckUtils]: 70: Hoare triple {7201#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7205#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:16,793 INFO L290 TraceCheckUtils]: 71: Hoare triple {7205#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6982#false} is VALID [2022-04-27 13:44:16,793 INFO L290 TraceCheckUtils]: 72: Hoare triple {6982#false} assume !false; {6982#false} is VALID [2022-04-27 13:44:16,794 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 13 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-27 13:44:16,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:26,427 INFO L290 TraceCheckUtils]: 72: Hoare triple {6982#false} assume !false; {6982#false} is VALID [2022-04-27 13:44:26,428 INFO L290 TraceCheckUtils]: 71: Hoare triple {7205#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6982#false} is VALID [2022-04-27 13:44:26,429 INFO L290 TraceCheckUtils]: 70: Hoare triple {7201#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7205#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:26,429 INFO L272 TraceCheckUtils]: 69: Hoare triple {7221#(= (+ (* 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)); {7201#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:26,430 INFO L290 TraceCheckUtils]: 68: Hoare triple {7225#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {7221#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:26,430 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} {7229#(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)))} #86#return; {7225#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:44:26,431 INFO L290 TraceCheckUtils]: 66: Hoare triple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:26,431 INFO L290 TraceCheckUtils]: 65: Hoare triple {7239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:26,431 INFO L290 TraceCheckUtils]: 64: Hoare triple {6981#true} ~cond := #in~cond; {7239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:44:26,431 INFO L272 TraceCheckUtils]: 63: Hoare triple {7229#(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)); {6981#true} is VALID [2022-04-27 13:44:26,434 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} {6981#true} #84#return; {7229#(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:44:26,434 INFO L290 TraceCheckUtils]: 61: Hoare triple {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:26,435 INFO L290 TraceCheckUtils]: 60: Hoare triple {7239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:44:26,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {6981#true} ~cond := #in~cond; {7239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:44:26,454 INFO L272 TraceCheckUtils]: 58: Hoare triple {6981#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,454 INFO L290 TraceCheckUtils]: 57: Hoare triple {6981#true} assume !!(#t~post6 < 100);havoc #t~post6; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 56: Hoare triple {6981#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 55: Hoare triple {6981#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 54: Hoare triple {6981#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); {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6981#true} {6981#true} #86#return; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 52: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 51: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 50: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L272 TraceCheckUtils]: 49: Hoare triple {6981#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6981#true} {6981#true} #84#return; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 47: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 46: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,455 INFO L290 TraceCheckUtils]: 45: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L272 TraceCheckUtils]: 44: Hoare triple {6981#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 43: Hoare triple {6981#true} assume !!(#t~post6 < 100);havoc #t~post6; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 42: Hoare triple {6981#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 41: Hoare triple {6981#true} assume !(~r~0 >= ~d~0); {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6981#true} {6981#true} #82#return; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 39: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 38: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 37: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L272 TraceCheckUtils]: 36: Hoare triple {6981#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6981#true} {6981#true} #80#return; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 34: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,456 INFO L290 TraceCheckUtils]: 33: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L272 TraceCheckUtils]: 31: Hoare triple {6981#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6981#true} {6981#true} #78#return; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 27: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L272 TraceCheckUtils]: 26: Hoare triple {6981#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {6981#true} assume !!(#t~post5 < 100);havoc #t~post5; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {6981#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {6981#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6981#true} is VALID [2022-04-27 13:44:26,457 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6981#true} {6981#true} #82#return; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L272 TraceCheckUtils]: 18: Hoare triple {6981#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6981#true} {6981#true} #80#return; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L272 TraceCheckUtils]: 13: Hoare triple {6981#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6981#true} {6981#true} #78#return; {6981#true} is VALID [2022-04-27 13:44:26,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 10: Hoare triple {6981#true} assume !(0 == ~cond); {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {6981#true} ~cond := #in~cond; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L272 TraceCheckUtils]: 8: Hoare triple {6981#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {6981#true} assume !!(#t~post5 < 100);havoc #t~post5; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 6: Hoare triple {6981#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {6981#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L272 TraceCheckUtils]: 4: Hoare triple {6981#true} call #t~ret7 := main(); {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6981#true} {6981#true} #92#return; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {6981#true} assume true; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {6981#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);~counter~0 := 0; {6981#true} is VALID [2022-04-27 13:44:26,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {6981#true} call ULTIMATE.init(); {6981#true} is VALID [2022-04-27 13:44:26,460 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-27 13:44:26,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:26,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [579322388] [2022-04-27 13:44:26,460 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:26,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [481003102] [2022-04-27 13:44:26,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [481003102] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:44:26,461 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:44:26,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-27 13:44:26,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [378383208] [2022-04-27 13:44:26,461 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:44:26,462 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 73 [2022-04-27 13:44:26,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:26,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 13:44:26,539 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:44:26,539 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:44:26,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:26,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:44:26,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:44:26,540 INFO L87 Difference]: Start difference. First operand 274 states and 341 transitions. Second operand has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 13:44:27,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:27,994 INFO L93 Difference]: Finished difference Result 335 states and 416 transitions. [2022-04-27 13:44:27,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:44:27,994 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 73 [2022-04-27 13:44:27,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:27,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 13:44:27,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-27 13:44:27,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 13:44:28,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-27 13:44:28,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-27 13:44:28,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:28,176 INFO L225 Difference]: With dead ends: 335 [2022-04-27 13:44:28,176 INFO L226 Difference]: Without dead ends: 239 [2022-04-27 13:44:28,177 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:44:28,177 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 53 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 437 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:28,177 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 167 Invalid, 437 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 13:44:28,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-27 13:44:28,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 223. [2022-04-27 13:44:28,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:28,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 239 states. Second operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:44:28,268 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:44:28,269 INFO L87 Difference]: Start difference. First operand 239 states. Second operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:44:28,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:28,276 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-27 13:44:28,276 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-27 13:44:28,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:28,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:28,277 INFO L74 IsIncluded]: Start isIncluded. First operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) Second operand 239 states. [2022-04-27 13:44:28,278 INFO L87 Difference]: Start difference. First operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) Second operand 239 states. [2022-04-27 13:44:28,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:28,284 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-27 13:44:28,284 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-27 13:44:28,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:28,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:28,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:28,285 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:28,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 223 states, 150 states have (on average 1.1933333333333334) internal successors, (179), 154 states have internal predecessors, (179), 45 states have call successors, (45), 29 states have call predecessors, (45), 27 states have return successors, (42), 39 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:44:28,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 266 transitions. [2022-04-27 13:44:28,292 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 266 transitions. Word has length 73 [2022-04-27 13:44:28,292 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:28,292 INFO L495 AbstractCegarLoop]: Abstraction has 223 states and 266 transitions. [2022-04-27 13:44:28,292 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 11 states have internal predecessors, (37), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-27 13:44:28,292 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 266 transitions. [2022-04-27 13:44:28,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-27 13:44:28,293 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:28,293 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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:44:28,317 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:44:28,507 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,SelfDestructingSolverStorable11 [2022-04-27 13:44:28,507 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:28,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:28,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1894150768, now seen corresponding path program 1 times [2022-04-27 13:44:28,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:28,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [143715559] [2022-04-27 13:44:28,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:28,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:28,519 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:28,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1908764582] [2022-04-27 13:44:28,519 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:28,519 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:28,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:28,521 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:44:28,540 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:44:28,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:28,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:44:28,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:28,586 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:30,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {8676#true} call ULTIMATE.init(); {8676#true} is VALID [2022-04-27 13:44:30,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {8676#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);~counter~0 := 0; {8676#true} is VALID [2022-04-27 13:44:30,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8676#true} {8676#true} #92#return; {8676#true} is VALID [2022-04-27 13:44:30,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {8676#true} call #t~ret7 := main(); {8676#true} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {8676#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 6: Hoare triple {8696#(<= 1 main_~p~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {8696#(<= 1 main_~p~0)} assume !!(#t~post5 < 100);havoc #t~post5; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,551 INFO L272 TraceCheckUtils]: 8: Hoare triple {8696#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,552 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8676#true} {8696#(<= 1 main_~p~0)} #78#return; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,552 INFO L272 TraceCheckUtils]: 13: Hoare triple {8696#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,552 INFO L290 TraceCheckUtils]: 16: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,553 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8676#true} {8696#(<= 1 main_~p~0)} #80#return; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,553 INFO L272 TraceCheckUtils]: 18: Hoare triple {8696#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,553 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8676#true} {8696#(<= 1 main_~p~0)} #82#return; {8696#(<= 1 main_~p~0)} is VALID [2022-04-27 13:44:30,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {8696#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {8751#(<= 1 (div main_~p~0 2))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {8751#(<= 1 (div main_~p~0 2))} assume !!(#t~post5 < 100);havoc #t~post5; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,555 INFO L272 TraceCheckUtils]: 26: Hoare triple {8751#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,555 INFO L290 TraceCheckUtils]: 27: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,555 INFO L290 TraceCheckUtils]: 29: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,555 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {8676#true} {8751#(<= 1 (div main_~p~0 2))} #78#return; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,556 INFO L272 TraceCheckUtils]: 31: Hoare triple {8751#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8676#true} {8751#(<= 1 (div main_~p~0 2))} #80#return; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,556 INFO L272 TraceCheckUtils]: 36: Hoare triple {8751#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,556 INFO L290 TraceCheckUtils]: 39: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,557 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8676#true} {8751#(<= 1 (div main_~p~0 2))} #82#return; {8751#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:44:30,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {8751#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,558 INFO L290 TraceCheckUtils]: 42: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,558 INFO L290 TraceCheckUtils]: 43: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post5 < 100);havoc #t~post5; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,558 INFO L272 TraceCheckUtils]: 44: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,558 INFO L290 TraceCheckUtils]: 45: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,558 INFO L290 TraceCheckUtils]: 46: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,559 INFO L290 TraceCheckUtils]: 47: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,559 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8676#true} {8806#(<= 1 (div (div main_~p~0 2) 2))} #78#return; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,559 INFO L272 TraceCheckUtils]: 49: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,559 INFO L290 TraceCheckUtils]: 50: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,559 INFO L290 TraceCheckUtils]: 51: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,560 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {8676#true} {8806#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,560 INFO L272 TraceCheckUtils]: 54: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,560 INFO L290 TraceCheckUtils]: 56: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,560 INFO L290 TraceCheckUtils]: 57: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,560 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8676#true} {8806#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 59: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 60: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 61: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post6 < 100);havoc #t~post6; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,561 INFO L272 TraceCheckUtils]: 62: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 63: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 64: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,561 INFO L290 TraceCheckUtils]: 65: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,562 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8676#true} {8806#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,562 INFO L272 TraceCheckUtils]: 67: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8676#true} is VALID [2022-04-27 13:44:30,562 INFO L290 TraceCheckUtils]: 68: Hoare triple {8676#true} ~cond := #in~cond; {8676#true} is VALID [2022-04-27 13:44:30,562 INFO L290 TraceCheckUtils]: 69: Hoare triple {8676#true} assume !(0 == ~cond); {8676#true} is VALID [2022-04-27 13:44:30,562 INFO L290 TraceCheckUtils]: 70: Hoare triple {8676#true} assume true; {8676#true} is VALID [2022-04-27 13:44:30,563 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8676#true} {8806#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {8806#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:44:30,563 INFO L290 TraceCheckUtils]: 72: Hoare triple {8806#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L272 TraceCheckUtils]: 73: Hoare triple {8677#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L290 TraceCheckUtils]: 74: Hoare triple {8677#false} ~cond := #in~cond; {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L290 TraceCheckUtils]: 75: Hoare triple {8677#false} assume !(0 == ~cond); {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L290 TraceCheckUtils]: 76: Hoare triple {8677#false} assume true; {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8677#false} {8677#false} #88#return; {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L272 TraceCheckUtils]: 78: Hoare triple {8677#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {8677#false} is VALID [2022-04-27 13:44:30,563 INFO L290 TraceCheckUtils]: 79: Hoare triple {8677#false} ~cond := #in~cond; {8677#false} is VALID [2022-04-27 13:44:30,564 INFO L290 TraceCheckUtils]: 80: Hoare triple {8677#false} assume 0 == ~cond; {8677#false} is VALID [2022-04-27 13:44:30,564 INFO L290 TraceCheckUtils]: 81: Hoare triple {8677#false} assume !false; {8677#false} is VALID [2022-04-27 13:44:30,564 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:44:30,564 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:44:30,564 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:30,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [143715559] [2022-04-27 13:44:30,564 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:30,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1908764582] [2022-04-27 13:44:30,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1908764582] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:44:30,564 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:44:30,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:44:30,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1740934791] [2022-04-27 13:44:30,565 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:44:30,565 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-27 13:44:30,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:30,565 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 13:44:30,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:30,607 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:44:30,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:30,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:44:30,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:44:30,608 INFO L87 Difference]: Start difference. First operand 223 states and 266 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 13:44:30,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:30,900 INFO L93 Difference]: Finished difference Result 242 states and 289 transitions. [2022-04-27 13:44:30,900 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:44:30,900 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-27 13:44:30,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:44:30,901 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 13:44:30,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 88 transitions. [2022-04-27 13:44:30,902 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 13:44:30,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 88 transitions. [2022-04-27 13:44:30,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 88 transitions. [2022-04-27 13:44:30,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:30,992 INFO L225 Difference]: With dead ends: 242 [2022-04-27 13:44:30,993 INFO L226 Difference]: Without dead ends: 222 [2022-04-27 13:44:30,993 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 78 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:44:30,994 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 25 mSDsluCounter, 35 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:44:30,994 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 92 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:44:30,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-27 13:44:31,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 217. [2022-04-27 13:44:31,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:44:31,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:44:31,096 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:44:31,096 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:44:31,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:31,101 INFO L93 Difference]: Finished difference Result 222 states and 263 transitions. [2022-04-27 13:44:31,101 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 263 transitions. [2022-04-27 13:44:31,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:31,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:31,103 INFO L74 IsIncluded]: Start isIncluded. First operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) Second operand 222 states. [2022-04-27 13:44:31,103 INFO L87 Difference]: Start difference. First operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) Second operand 222 states. [2022-04-27 13:44:31,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:44:31,108 INFO L93 Difference]: Finished difference Result 222 states and 263 transitions. [2022-04-27 13:44:31,109 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 263 transitions. [2022-04-27 13:44:31,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:44:31,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:44:31,109 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:44:31,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:44:31,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 217 states, 147 states have (on average 1.163265306122449) internal successors, (171), 149 states have internal predecessors, (171), 43 states have call successors, (43), 27 states have call predecessors, (43), 26 states have return successors, (41), 40 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:44:31,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 217 states to 217 states and 255 transitions. [2022-04-27 13:44:31,116 INFO L78 Accepts]: Start accepts. Automaton has 217 states and 255 transitions. Word has length 82 [2022-04-27 13:44:31,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:44:31,116 INFO L495 AbstractCegarLoop]: Abstraction has 217 states and 255 transitions. [2022-04-27 13:44:31,116 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, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-27 13:44:31,116 INFO L276 IsEmpty]: Start isEmpty. Operand 217 states and 255 transitions. [2022-04-27 13:44:31,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:44:31,117 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:44:31,117 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:44:31,144 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:44:31,339 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:44:31,340 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:44:31,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:44:31,340 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 2 times [2022-04-27 13:44:31,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:44:31,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472004804] [2022-04-27 13:44:31,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:44:31,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:44:31,352 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:44:31,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [964468356] [2022-04-27 13:44:31,353 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:44:31,353 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:44:31,353 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:44:31,354 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:44:31,375 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:44:31,430 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:44:31,431 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:44:31,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 13:44:31,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:44:31,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:44:32,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {9994#true} call ULTIMATE.init(); {9994#true} is VALID [2022-04-27 13:44:32,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {9994#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);~counter~0 := 0; {9994#true} is VALID [2022-04-27 13:44:32,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9994#true} {9994#true} #92#return; {9994#true} is VALID [2022-04-27 13:44:32,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {9994#true} call #t~ret7 := main(); {9994#true} is VALID [2022-04-27 13:44:32,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {9994#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10014#(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:44:32,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {10014#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10014#(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:44:32,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {10014#(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 !!(#t~post5 < 100);havoc #t~post5; {10014#(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:44:32,234 INFO L272 TraceCheckUtils]: 8: Hoare triple {10014#(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)); {9994#true} is VALID [2022-04-27 13:44:32,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,234 INFO L290 TraceCheckUtils]: 10: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,235 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9994#true} {10014#(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))} #78#return; {10014#(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:44:32,235 INFO L272 TraceCheckUtils]: 13: Hoare triple {10014#(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)); {9994#true} is VALID [2022-04-27 13:44:32,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,237 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9994#true} {10014#(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; {10014#(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:44:32,237 INFO L272 TraceCheckUtils]: 18: Hoare triple {10014#(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)); {9994#true} is VALID [2022-04-27 13:44:32,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,239 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9994#true} {10014#(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; {10014#(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:44:32,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {10014#(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; {10069#(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:44:32,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {10069#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10069#(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:44:32,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {10069#(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 !!(#t~post5 < 100);havoc #t~post5; {10069#(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:44:32,240 INFO L272 TraceCheckUtils]: 26: Hoare triple {10069#(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)); {9994#true} is VALID [2022-04-27 13:44:32,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,240 INFO L290 TraceCheckUtils]: 28: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,240 INFO L290 TraceCheckUtils]: 29: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,241 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9994#true} {10069#(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))} #78#return; {10069#(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:44:32,241 INFO L272 TraceCheckUtils]: 31: Hoare triple {10069#(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)); {9994#true} is VALID [2022-04-27 13:44:32,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,242 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9994#true} {10069#(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; {10069#(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:44:32,242 INFO L272 TraceCheckUtils]: 36: Hoare triple {10069#(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)); {9994#true} is VALID [2022-04-27 13:44:32,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,242 INFO L290 TraceCheckUtils]: 38: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,242 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9994#true} {10069#(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; {10069#(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:44:32,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {10069#(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; {10124#(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:44:32,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {10124#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10124#(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:44:32,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#(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 !!(#t~post5 < 100);havoc #t~post5; {10124#(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:44:32,244 INFO L272 TraceCheckUtils]: 44: Hoare triple {10124#(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)); {9994#true} is VALID [2022-04-27 13:44:32,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,244 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9994#true} {10124#(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))} #78#return; {10124#(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:44:32,245 INFO L272 TraceCheckUtils]: 49: Hoare triple {10124#(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)); {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L290 TraceCheckUtils]: 51: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L290 TraceCheckUtils]: 52: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9994#true} {10124#(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; {10124#(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:44:32,245 INFO L272 TraceCheckUtils]: 54: Hoare triple {10124#(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)); {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L290 TraceCheckUtils]: 55: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,245 INFO L290 TraceCheckUtils]: 56: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,246 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9994#true} {10124#(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; {10124#(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:44:32,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {10124#(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); {10124#(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:44:32,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10124#(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:44:32,247 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#(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 !!(#t~post6 < 100);havoc #t~post6; {10124#(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:44:32,247 INFO L272 TraceCheckUtils]: 62: Hoare triple {10124#(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)); {9994#true} is VALID [2022-04-27 13:44:32,247 INFO L290 TraceCheckUtils]: 63: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,247 INFO L290 TraceCheckUtils]: 64: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,248 INFO L290 TraceCheckUtils]: 65: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,252 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {9994#true} {10124#(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; {10124#(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:44:32,252 INFO L272 TraceCheckUtils]: 67: Hoare triple {10124#(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)); {9994#true} is VALID [2022-04-27 13:44:32,252 INFO L290 TraceCheckUtils]: 68: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,253 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9994#true} {10124#(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; {10124#(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:44:32,254 INFO L290 TraceCheckUtils]: 72: Hoare triple {10124#(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); {10069#(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:44:32,255 INFO L290 TraceCheckUtils]: 73: Hoare triple {10069#(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; {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-27 13:44:32,255 INFO L290 TraceCheckUtils]: 74: Hoare triple {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-27 13:44:32,256 INFO L290 TraceCheckUtils]: 75: Hoare triple {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-27 13:44:32,256 INFO L272 TraceCheckUtils]: 76: Hoare triple {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:32,256 INFO L290 TraceCheckUtils]: 77: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,256 INFO L290 TraceCheckUtils]: 78: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,256 INFO L290 TraceCheckUtils]: 79: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,257 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9994#true} {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-27 13:44:32,257 INFO L272 TraceCheckUtils]: 81: Hoare triple {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:32,257 INFO L290 TraceCheckUtils]: 82: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:32,257 INFO L290 TraceCheckUtils]: 83: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:32,257 INFO L290 TraceCheckUtils]: 84: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:32,258 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9994#true} {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #86#return; {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-27 13:44:32,259 INFO L290 TraceCheckUtils]: 86: Hoare triple {10221#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~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); {10261#(and (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (+ (- 2) main_~q~0) 0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:44:32,260 INFO L290 TraceCheckUtils]: 87: Hoare triple {10261#(and (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (+ (- 2) main_~q~0) 0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:44:32,261 INFO L290 TraceCheckUtils]: 88: Hoare triple {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:44:32,261 INFO L290 TraceCheckUtils]: 89: Hoare triple {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:44:32,262 INFO L272 TraceCheckUtils]: 90: Hoare triple {10265#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) 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)); {10275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:32,263 INFO L290 TraceCheckUtils]: 91: Hoare triple {10275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:32,263 INFO L290 TraceCheckUtils]: 92: Hoare triple {10279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9995#false} is VALID [2022-04-27 13:44:32,263 INFO L290 TraceCheckUtils]: 93: Hoare triple {9995#false} assume !false; {9995#false} is VALID [2022-04-27 13:44:32,264 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:44:32,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:44:50,966 INFO L290 TraceCheckUtils]: 93: Hoare triple {9995#false} assume !false; {9995#false} is VALID [2022-04-27 13:44:50,966 INFO L290 TraceCheckUtils]: 92: Hoare triple {10279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9995#false} is VALID [2022-04-27 13:44:50,967 INFO L290 TraceCheckUtils]: 91: Hoare triple {10275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:44:50,968 INFO L272 TraceCheckUtils]: 90: Hoare triple {10295#(= (+ (* 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)); {10275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:44:50,968 INFO L290 TraceCheckUtils]: 89: Hoare triple {10295#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 100);havoc #t~post6; {10295#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:50,968 INFO L290 TraceCheckUtils]: 88: Hoare triple {10295#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10295#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:50,980 INFO L290 TraceCheckUtils]: 87: Hoare triple {10305#(= 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; {10295#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:44:50,995 INFO L290 TraceCheckUtils]: 86: Hoare triple {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10305#(= 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:44:50,996 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9994#true} {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #86#return; {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:44:50,996 INFO L290 TraceCheckUtils]: 84: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:50,996 INFO L290 TraceCheckUtils]: 83: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:50,996 INFO L290 TraceCheckUtils]: 82: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:50,996 INFO L272 TraceCheckUtils]: 81: Hoare triple {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:50,997 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9994#true} {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #84#return; {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:44:50,997 INFO L290 TraceCheckUtils]: 79: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:50,997 INFO L290 TraceCheckUtils]: 78: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:50,997 INFO L290 TraceCheckUtils]: 77: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:50,997 INFO L272 TraceCheckUtils]: 76: Hoare triple {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:50,999 INFO L290 TraceCheckUtils]: 75: Hoare triple {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !!(#t~post6 < 100);havoc #t~post6; {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:44:51,001 INFO L290 TraceCheckUtils]: 74: Hoare triple {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:44:51,027 INFO L290 TraceCheckUtils]: 73: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10309#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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 (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:44:51,484 INFO L290 TraceCheckUtils]: 72: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,486 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9994#true} {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #86#return; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,486 INFO L290 TraceCheckUtils]: 70: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,486 INFO L290 TraceCheckUtils]: 69: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,486 INFO L290 TraceCheckUtils]: 68: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,486 INFO L272 TraceCheckUtils]: 67: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,488 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {9994#true} {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #84#return; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,488 INFO L290 TraceCheckUtils]: 65: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,488 INFO L290 TraceCheckUtils]: 64: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,488 INFO L290 TraceCheckUtils]: 63: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,488 INFO L272 TraceCheckUtils]: 62: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,494 INFO L290 TraceCheckUtils]: 61: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,499 INFO L290 TraceCheckUtils]: 60: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,504 INFO L290 TraceCheckUtils]: 59: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,505 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9994#true} {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #82#return; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,505 INFO L290 TraceCheckUtils]: 57: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,506 INFO L290 TraceCheckUtils]: 56: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,506 INFO L290 TraceCheckUtils]: 55: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,506 INFO L272 TraceCheckUtils]: 54: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,507 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9994#true} {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #80#return; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,507 INFO L290 TraceCheckUtils]: 52: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,507 INFO L290 TraceCheckUtils]: 51: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,507 INFO L290 TraceCheckUtils]: 50: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,508 INFO L272 TraceCheckUtils]: 49: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,509 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9994#true} {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #78#return; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,509 INFO L272 TraceCheckUtils]: 44: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,514 INFO L290 TraceCheckUtils]: 43: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post5 < 100);havoc #t~post5; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,519 INFO L290 TraceCheckUtils]: 42: Hoare triple {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,621 INFO L290 TraceCheckUtils]: 41: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10353#(and (or (and (or (and (or (and (or (= (+ (- 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 (= 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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~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) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 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) (= 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 (+ (* (+ 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_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (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) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= 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))))) (or (= 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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= 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_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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)) (or (not (< (div main_~d~0 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)))) (= (mod (div main_~d~0 2) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,623 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9994#true} {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} #82#return; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,624 INFO L290 TraceCheckUtils]: 38: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,624 INFO L290 TraceCheckUtils]: 37: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,624 INFO L272 TraceCheckUtils]: 36: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,625 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9994#true} {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} #80#return; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,625 INFO L290 TraceCheckUtils]: 34: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,625 INFO L290 TraceCheckUtils]: 33: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,625 INFO L290 TraceCheckUtils]: 32: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,625 INFO L272 TraceCheckUtils]: 31: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,626 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9994#true} {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} #78#return; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,626 INFO L290 TraceCheckUtils]: 28: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,627 INFO L272 TraceCheckUtils]: 26: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9994#true} is VALID [2022-04-27 13:44:51,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post5 < 100);havoc #t~post5; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {10501#(= (+ (* (* 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; {10349#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (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) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (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_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:44:51,672 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9994#true} {10501#(= (+ (* (* 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; {10501#(= (+ (* (* 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:44:51,672 INFO L290 TraceCheckUtils]: 21: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,672 INFO L290 TraceCheckUtils]: 19: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,672 INFO L272 TraceCheckUtils]: 18: Hoare triple {10501#(= (+ (* (* 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)); {9994#true} is VALID [2022-04-27 13:44:51,673 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9994#true} {10501#(= (+ (* (* 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; {10501#(= (+ (* (* 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:44:51,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,673 INFO L272 TraceCheckUtils]: 13: Hoare triple {10501#(= (+ (* (* 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)); {9994#true} is VALID [2022-04-27 13:44:51,674 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9994#true} {10501#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #78#return; {10501#(= (+ (* (* 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:44:51,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,674 INFO L290 TraceCheckUtils]: 10: Hoare triple {9994#true} assume !(0 == ~cond); {9994#true} is VALID [2022-04-27 13:44:51,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {9994#true} ~cond := #in~cond; {9994#true} is VALID [2022-04-27 13:44:51,674 INFO L272 TraceCheckUtils]: 8: Hoare triple {10501#(= (+ (* (* 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)); {9994#true} is VALID [2022-04-27 13:44:51,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {10501#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(#t~post5 < 100);havoc #t~post5; {10501#(= (+ (* (* 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:44:51,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {10501#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10501#(= (+ (* (* 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:44:51,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {9994#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10501#(= (+ (* (* 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:44:51,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {9994#true} call #t~ret7 := main(); {9994#true} is VALID [2022-04-27 13:44:51,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9994#true} {9994#true} #92#return; {9994#true} is VALID [2022-04-27 13:44:51,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {9994#true} assume true; {9994#true} is VALID [2022-04-27 13:44:51,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {9994#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);~counter~0 := 0; {9994#true} is VALID [2022-04-27 13:44:51,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {9994#true} call ULTIMATE.init(); {9994#true} is VALID [2022-04-27 13:44:51,678 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:44:51,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:44:51,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472004804] [2022-04-27 13:44:51,678 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:44:51,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [964468356] [2022-04-27 13:44:51,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [964468356] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:44:51,679 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:44:51,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:44:51,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1427327933] [2022-04-27 13:44:51,679 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:44:51,680 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) Word has length 94 [2022-04-27 13:44:51,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:44:51,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 13:44:52,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:44:52,355 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:44:52,355 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:44:52,356 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:44:52,356 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:44:52,356 INFO L87 Difference]: Start difference. First operand 217 states and 255 transitions. Second operand has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 13:45:17,090 WARN L232 SmtUtils]: Spent 23.53s on a formula simplification. DAG size of input: 192 DAG size of output: 86 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:45:30,593 WARN L232 SmtUtils]: Spent 5.13s on a formula simplification. DAG size of input: 81 DAG size of output: 52 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:45:40,357 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:45:42,789 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:45:45,150 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:45:51,980 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:45:53,983 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:45:55,987 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:46:06,219 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:46:08,223 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:46:09,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:09,280 INFO L93 Difference]: Finished difference Result 332 states and 434 transitions. [2022-04-27 13:46:09,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:46:09,280 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) Word has length 94 [2022-04-27 13:46:09,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:46:09,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 13:46:09,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 204 transitions. [2022-04-27 13:46:09,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 13:46:09,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 204 transitions. [2022-04-27 13:46:09,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 204 transitions. [2022-04-27 13:46:10,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 204 edges. 204 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:10,154 INFO L225 Difference]: With dead ends: 332 [2022-04-27 13:46:10,155 INFO L226 Difference]: Without dead ends: 275 [2022-04-27 13:46:10,155 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 193 GetRequests, 170 SyntacticMatches, 4 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 33.9s TimeCoverageRelationStatistics Valid=114, Invalid=306, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:46:10,156 INFO L413 NwaCegarLoop]: 73 mSDtfsCounter, 126 mSDsluCounter, 295 mSDsCounter, 0 mSdLazyCounter, 768 mSolverCounterSat, 186 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 22.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 137 SdHoareTripleChecker+Valid, 368 SdHoareTripleChecker+Invalid, 961 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 186 IncrementalHoareTripleChecker+Valid, 768 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 22.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:46:10,156 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [137 Valid, 368 Invalid, 961 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [186 Valid, 768 Invalid, 7 Unknown, 0 Unchecked, 22.3s Time] [2022-04-27 13:46:10,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2022-04-27 13:46:10,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 257. [2022-04-27 13:46:10,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:46:10,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:46:10,293 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:46:10,293 INFO L87 Difference]: Start difference. First operand 275 states. Second operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:46:10,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:10,301 INFO L93 Difference]: Finished difference Result 275 states and 354 transitions. [2022-04-27 13:46:10,301 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 354 transitions. [2022-04-27 13:46:10,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:10,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:10,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) Second operand 275 states. [2022-04-27 13:46:10,303 INFO L87 Difference]: Start difference. First operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) Second operand 275 states. [2022-04-27 13:46:10,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:10,310 INFO L93 Difference]: Finished difference Result 275 states and 354 transitions. [2022-04-27 13:46:10,310 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 354 transitions. [2022-04-27 13:46:10,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:10,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:10,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:46:10,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:46:10,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 257 states, 172 states have (on average 1.2267441860465116) internal successors, (211), 177 states have internal predecessors, (211), 57 states have call successors, (57), 28 states have call predecessors, (57), 27 states have return successors, (55), 51 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:46:10,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 257 states to 257 states and 323 transitions. [2022-04-27 13:46:10,320 INFO L78 Accepts]: Start accepts. Automaton has 257 states and 323 transitions. Word has length 94 [2022-04-27 13:46:10,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:46:10,320 INFO L495 AbstractCegarLoop]: Abstraction has 257 states and 323 transitions. [2022-04-27 13:46:10,320 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.0) internal successors, (48), 15 states have internal predecessors, (48), 11 states have call successors, (30), 2 states have call predecessors, (30), 1 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2022-04-27 13:46:10,321 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 323 transitions. [2022-04-27 13:46:10,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-27 13:46:10,322 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:46:10,322 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 5, 4, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:46:10,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:46:10,535 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,SelfDestructingSolverStorable13 [2022-04-27 13:46:10,535 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:46:10,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:46:10,536 INFO L85 PathProgramCache]: Analyzing trace with hash -1539828763, now seen corresponding path program 1 times [2022-04-27 13:46:10,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:46:10,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1708007878] [2022-04-27 13:46:10,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:10,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:46:10,548 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:46:10,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [801308738] [2022-04-27 13:46:10,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:10,548 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:10,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:46:10,549 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:46:10,564 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:46:10,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:10,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:46:10,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:10,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:46:10,998 INFO L272 TraceCheckUtils]: 0: Hoare triple {11942#true} call ULTIMATE.init(); {11942#true} is VALID [2022-04-27 13:46:10,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {11942#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);~counter~0 := 0; {11950#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:10,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {11950#(<= ~counter~0 0)} assume true; {11950#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:10,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11950#(<= ~counter~0 0)} {11942#true} #92#return; {11950#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:11,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {11950#(<= ~counter~0 0)} call #t~ret7 := main(); {11950#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:11,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {11950#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {11950#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:11,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {11950#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {11966#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,001 INFO L272 TraceCheckUtils]: 8: Hoare triple {11966#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {11966#(<= ~counter~0 1)} ~cond := #in~cond; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,002 INFO L290 TraceCheckUtils]: 10: Hoare triple {11966#(<= ~counter~0 1)} assume !(0 == ~cond); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {11966#(<= ~counter~0 1)} assume true; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,003 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11966#(<= ~counter~0 1)} {11966#(<= ~counter~0 1)} #78#return; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,003 INFO L272 TraceCheckUtils]: 13: Hoare triple {11966#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {11966#(<= ~counter~0 1)} ~cond := #in~cond; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {11966#(<= ~counter~0 1)} assume !(0 == ~cond); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,004 INFO L290 TraceCheckUtils]: 16: Hoare triple {11966#(<= ~counter~0 1)} assume true; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,004 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11966#(<= ~counter~0 1)} {11966#(<= ~counter~0 1)} #80#return; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,005 INFO L272 TraceCheckUtils]: 18: Hoare triple {11966#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {11966#(<= ~counter~0 1)} ~cond := #in~cond; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {11966#(<= ~counter~0 1)} assume !(0 == ~cond); {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,006 INFO L290 TraceCheckUtils]: 21: Hoare triple {11966#(<= ~counter~0 1)} assume true; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,006 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11966#(<= ~counter~0 1)} {11966#(<= ~counter~0 1)} #82#return; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,006 INFO L290 TraceCheckUtils]: 23: Hoare triple {11966#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11966#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:11,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {11966#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {12021#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,008 INFO L272 TraceCheckUtils]: 26: Hoare triple {12021#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,015 INFO L290 TraceCheckUtils]: 27: Hoare triple {12021#(<= ~counter~0 2)} ~cond := #in~cond; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {12021#(<= ~counter~0 2)} assume !(0 == ~cond); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {12021#(<= ~counter~0 2)} assume true; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,017 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12021#(<= ~counter~0 2)} {12021#(<= ~counter~0 2)} #78#return; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,017 INFO L272 TraceCheckUtils]: 31: Hoare triple {12021#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {12021#(<= ~counter~0 2)} ~cond := #in~cond; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {12021#(<= ~counter~0 2)} assume !(0 == ~cond); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,018 INFO L290 TraceCheckUtils]: 34: Hoare triple {12021#(<= ~counter~0 2)} assume true; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,019 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12021#(<= ~counter~0 2)} {12021#(<= ~counter~0 2)} #80#return; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,019 INFO L272 TraceCheckUtils]: 36: Hoare triple {12021#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {12021#(<= ~counter~0 2)} ~cond := #in~cond; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,020 INFO L290 TraceCheckUtils]: 38: Hoare triple {12021#(<= ~counter~0 2)} assume !(0 == ~cond); {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,021 INFO L290 TraceCheckUtils]: 39: Hoare triple {12021#(<= ~counter~0 2)} assume true; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,021 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12021#(<= ~counter~0 2)} {12021#(<= ~counter~0 2)} #82#return; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,022 INFO L290 TraceCheckUtils]: 41: Hoare triple {12021#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12021#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:11,022 INFO L290 TraceCheckUtils]: 42: Hoare triple {12021#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,023 INFO L290 TraceCheckUtils]: 43: Hoare triple {12076#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,023 INFO L272 TraceCheckUtils]: 44: Hoare triple {12076#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,023 INFO L290 TraceCheckUtils]: 45: Hoare triple {12076#(<= ~counter~0 3)} ~cond := #in~cond; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {12076#(<= ~counter~0 3)} assume !(0 == ~cond); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,024 INFO L290 TraceCheckUtils]: 47: Hoare triple {12076#(<= ~counter~0 3)} assume true; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,025 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12076#(<= ~counter~0 3)} {12076#(<= ~counter~0 3)} #78#return; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,025 INFO L272 TraceCheckUtils]: 49: Hoare triple {12076#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {12076#(<= ~counter~0 3)} ~cond := #in~cond; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,027 INFO L290 TraceCheckUtils]: 51: Hoare triple {12076#(<= ~counter~0 3)} assume !(0 == ~cond); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,027 INFO L290 TraceCheckUtils]: 52: Hoare triple {12076#(<= ~counter~0 3)} assume true; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,028 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12076#(<= ~counter~0 3)} {12076#(<= ~counter~0 3)} #80#return; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,028 INFO L272 TraceCheckUtils]: 54: Hoare triple {12076#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,029 INFO L290 TraceCheckUtils]: 55: Hoare triple {12076#(<= ~counter~0 3)} ~cond := #in~cond; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,029 INFO L290 TraceCheckUtils]: 56: Hoare triple {12076#(<= ~counter~0 3)} assume !(0 == ~cond); {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {12076#(<= ~counter~0 3)} assume true; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,030 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12076#(<= ~counter~0 3)} {12076#(<= ~counter~0 3)} #82#return; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,032 INFO L290 TraceCheckUtils]: 59: Hoare triple {12076#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12076#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:11,033 INFO L290 TraceCheckUtils]: 60: Hoare triple {12076#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {12131#(<= ~counter~0 4)} assume !!(#t~post5 < 100);havoc #t~post5; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,034 INFO L272 TraceCheckUtils]: 62: Hoare triple {12131#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= ~counter~0 4)} ~cond := #in~cond; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,035 INFO L290 TraceCheckUtils]: 64: Hoare triple {12131#(<= ~counter~0 4)} assume !(0 == ~cond); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,035 INFO L290 TraceCheckUtils]: 65: Hoare triple {12131#(<= ~counter~0 4)} assume true; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,038 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12131#(<= ~counter~0 4)} {12131#(<= ~counter~0 4)} #78#return; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,039 INFO L272 TraceCheckUtils]: 67: Hoare triple {12131#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,039 INFO L290 TraceCheckUtils]: 68: Hoare triple {12131#(<= ~counter~0 4)} ~cond := #in~cond; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {12131#(<= ~counter~0 4)} assume !(0 == ~cond); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,040 INFO L290 TraceCheckUtils]: 70: Hoare triple {12131#(<= ~counter~0 4)} assume true; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,041 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12131#(<= ~counter~0 4)} {12131#(<= ~counter~0 4)} #80#return; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,041 INFO L272 TraceCheckUtils]: 72: Hoare triple {12131#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,042 INFO L290 TraceCheckUtils]: 73: Hoare triple {12131#(<= ~counter~0 4)} ~cond := #in~cond; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,042 INFO L290 TraceCheckUtils]: 74: Hoare triple {12131#(<= ~counter~0 4)} assume !(0 == ~cond); {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,042 INFO L290 TraceCheckUtils]: 75: Hoare triple {12131#(<= ~counter~0 4)} assume true; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,043 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12131#(<= ~counter~0 4)} {12131#(<= ~counter~0 4)} #82#return; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,043 INFO L290 TraceCheckUtils]: 77: Hoare triple {12131#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12131#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:11,044 INFO L290 TraceCheckUtils]: 78: Hoare triple {12131#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12186#(<= |main_#t~post5| 4)} is VALID [2022-04-27 13:46:11,044 INFO L290 TraceCheckUtils]: 79: Hoare triple {12186#(<= |main_#t~post5| 4)} assume !(#t~post5 < 100);havoc #t~post5; {11943#false} is VALID [2022-04-27 13:46:11,044 INFO L290 TraceCheckUtils]: 80: Hoare triple {11943#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,044 INFO L290 TraceCheckUtils]: 81: Hoare triple {11943#false} assume !!(#t~post6 < 100);havoc #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,044 INFO L272 TraceCheckUtils]: 82: Hoare triple {11943#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11943#false} is VALID [2022-04-27 13:46:11,044 INFO L290 TraceCheckUtils]: 83: Hoare triple {11943#false} ~cond := #in~cond; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 84: Hoare triple {11943#false} assume !(0 == ~cond); {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 85: Hoare triple {11943#false} assume true; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {11943#false} {11943#false} #84#return; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L272 TraceCheckUtils]: 87: Hoare triple {11943#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 88: Hoare triple {11943#false} ~cond := #in~cond; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 89: Hoare triple {11943#false} assume !(0 == ~cond); {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 90: Hoare triple {11943#false} assume true; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {11943#false} {11943#false} #86#return; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 92: Hoare triple {11943#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 93: Hoare triple {11943#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11943#false} is VALID [2022-04-27 13:46:11,045 INFO L290 TraceCheckUtils]: 94: Hoare triple {11943#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L290 TraceCheckUtils]: 95: Hoare triple {11943#false} assume !(#t~post6 < 100);havoc #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L272 TraceCheckUtils]: 96: Hoare triple {11943#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L290 TraceCheckUtils]: 97: Hoare triple {11943#false} ~cond := #in~cond; {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L290 TraceCheckUtils]: 98: Hoare triple {11943#false} assume 0 == ~cond; {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L290 TraceCheckUtils]: 99: Hoare triple {11943#false} assume !false; {11943#false} is VALID [2022-04-27 13:46:11,046 INFO L134 CoverageAnalysis]: Checked inductivity of 438 backedges. 120 proven. 260 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-27 13:46:11,046 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:46:11,448 INFO L290 TraceCheckUtils]: 99: Hoare triple {11943#false} assume !false; {11943#false} is VALID [2022-04-27 13:46:11,448 INFO L290 TraceCheckUtils]: 98: Hoare triple {11943#false} assume 0 == ~cond; {11943#false} is VALID [2022-04-27 13:46:11,448 INFO L290 TraceCheckUtils]: 97: Hoare triple {11943#false} ~cond := #in~cond; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L272 TraceCheckUtils]: 96: Hoare triple {11943#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 95: Hoare triple {11943#false} assume !(#t~post6 < 100);havoc #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 94: Hoare triple {11943#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 93: Hoare triple {11943#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 92: Hoare triple {11943#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {11942#true} {11943#false} #86#return; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 90: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 89: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 88: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,449 INFO L272 TraceCheckUtils]: 87: Hoare triple {11943#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,449 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {11942#true} {11943#false} #84#return; {11943#false} is VALID [2022-04-27 13:46:11,449 INFO L290 TraceCheckUtils]: 85: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,450 INFO L290 TraceCheckUtils]: 84: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,450 INFO L290 TraceCheckUtils]: 83: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,450 INFO L272 TraceCheckUtils]: 82: Hoare triple {11943#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,450 INFO L290 TraceCheckUtils]: 81: Hoare triple {11943#false} assume !!(#t~post6 < 100);havoc #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,450 INFO L290 TraceCheckUtils]: 80: Hoare triple {11943#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11943#false} is VALID [2022-04-27 13:46:11,451 INFO L290 TraceCheckUtils]: 79: Hoare triple {12310#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {11943#false} is VALID [2022-04-27 13:46:11,452 INFO L290 TraceCheckUtils]: 78: Hoare triple {12314#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12310#(< |main_#t~post5| 100)} is VALID [2022-04-27 13:46:11,452 INFO L290 TraceCheckUtils]: 77: Hoare triple {12314#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,452 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {11942#true} {12314#(< ~counter~0 100)} #82#return; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 75: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 74: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 73: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L272 TraceCheckUtils]: 72: Hoare triple {12314#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11942#true} {12314#(< ~counter~0 100)} #80#return; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 70: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 69: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L290 TraceCheckUtils]: 68: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,453 INFO L272 TraceCheckUtils]: 67: Hoare triple {12314#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,454 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {11942#true} {12314#(< ~counter~0 100)} #78#return; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,454 INFO L290 TraceCheckUtils]: 65: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,454 INFO L290 TraceCheckUtils]: 64: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,454 INFO L290 TraceCheckUtils]: 63: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,454 INFO L272 TraceCheckUtils]: 62: Hoare triple {12314#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,454 INFO L290 TraceCheckUtils]: 61: Hoare triple {12314#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,455 INFO L290 TraceCheckUtils]: 60: Hoare triple {12369#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12314#(< ~counter~0 100)} is VALID [2022-04-27 13:46:11,455 INFO L290 TraceCheckUtils]: 59: Hoare triple {12369#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,456 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11942#true} {12369#(< ~counter~0 99)} #82#return; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,456 INFO L290 TraceCheckUtils]: 57: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,456 INFO L290 TraceCheckUtils]: 56: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,456 INFO L290 TraceCheckUtils]: 55: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,456 INFO L272 TraceCheckUtils]: 54: Hoare triple {12369#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,456 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11942#true} {12369#(< ~counter~0 99)} #80#return; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 52: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 51: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 50: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L272 TraceCheckUtils]: 49: Hoare triple {12369#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {11942#true} {12369#(< ~counter~0 99)} #78#return; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 47: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 46: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L290 TraceCheckUtils]: 45: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,457 INFO L272 TraceCheckUtils]: 44: Hoare triple {12369#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,458 INFO L290 TraceCheckUtils]: 43: Hoare triple {12369#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {12424#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12369#(< ~counter~0 99)} is VALID [2022-04-27 13:46:11,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {12424#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,459 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11942#true} {12424#(< ~counter~0 98)} #82#return; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,459 INFO L290 TraceCheckUtils]: 39: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,459 INFO L290 TraceCheckUtils]: 38: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,459 INFO L272 TraceCheckUtils]: 36: Hoare triple {12424#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {11942#true} {12424#(< ~counter~0 98)} #80#return; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,460 INFO L290 TraceCheckUtils]: 34: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L290 TraceCheckUtils]: 33: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L272 TraceCheckUtils]: 31: Hoare triple {12424#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {11942#true} {12424#(< ~counter~0 98)} #78#return; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,460 INFO L290 TraceCheckUtils]: 28: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,461 INFO L272 TraceCheckUtils]: 26: Hoare triple {12424#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {12424#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {12479#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12424#(< ~counter~0 98)} is VALID [2022-04-27 13:46:11,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {12479#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,462 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11942#true} {12479#(< ~counter~0 97)} #82#return; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,462 INFO L290 TraceCheckUtils]: 19: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,462 INFO L272 TraceCheckUtils]: 18: Hoare triple {12479#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,463 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11942#true} {12479#(< ~counter~0 97)} #80#return; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,463 INFO L290 TraceCheckUtils]: 16: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,463 INFO L272 TraceCheckUtils]: 13: Hoare triple {12479#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,463 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {11942#true} {12479#(< ~counter~0 97)} #78#return; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {11942#true} assume true; {11942#true} is VALID [2022-04-27 13:46:11,464 INFO L290 TraceCheckUtils]: 10: Hoare triple {11942#true} assume !(0 == ~cond); {11942#true} is VALID [2022-04-27 13:46:11,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {11942#true} ~cond := #in~cond; {11942#true} is VALID [2022-04-27 13:46:11,464 INFO L272 TraceCheckUtils]: 8: Hoare triple {12479#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11942#true} is VALID [2022-04-27 13:46:11,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {12479#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {12534#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12479#(< ~counter~0 97)} is VALID [2022-04-27 13:46:11,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {12534#(< ~counter~0 96)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12534#(< ~counter~0 96)} is VALID [2022-04-27 13:46:11,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {12534#(< ~counter~0 96)} call #t~ret7 := main(); {12534#(< ~counter~0 96)} is VALID [2022-04-27 13:46:11,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12534#(< ~counter~0 96)} {11942#true} #92#return; {12534#(< ~counter~0 96)} is VALID [2022-04-27 13:46:11,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {12534#(< ~counter~0 96)} assume true; {12534#(< ~counter~0 96)} is VALID [2022-04-27 13:46:11,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {11942#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);~counter~0 := 0; {12534#(< ~counter~0 96)} is VALID [2022-04-27 13:46:11,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {11942#true} call ULTIMATE.init(); {11942#true} is VALID [2022-04-27 13:46:11,466 INFO L134 CoverageAnalysis]: Checked inductivity of 438 backedges. 28 proven. 44 refuted. 0 times theorem prover too weak. 366 trivial. 0 not checked. [2022-04-27 13:46:11,467 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:46:11,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1708007878] [2022-04-27 13:46:11,467 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:46:11,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [801308738] [2022-04-27 13:46:11,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [801308738] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:46:11,467 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:46:11,467 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-27 13:46:11,467 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [699304625] [2022-04-27 13:46:11,467 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:46:11,468 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) Word has length 100 [2022-04-27 13:46:11,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:46:11,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:46:11,556 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:46:11,556 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 13:46:11,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:46:11,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 13:46:11,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:46:11,557 INFO L87 Difference]: Start difference. First operand 257 states and 323 transitions. Second operand has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:46:12,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:12,903 INFO L93 Difference]: Finished difference Result 746 states and 1016 transitions. [2022-04-27 13:46:12,903 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 13:46:12,903 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) Word has length 100 [2022-04-27 13:46:12,904 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:46:12,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:46:12,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 260 transitions. [2022-04-27 13:46:12,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:46:12,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 260 transitions. [2022-04-27 13:46:12,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 260 transitions. [2022-04-27 13:46:13,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:13,135 INFO L225 Difference]: With dead ends: 746 [2022-04-27 13:46:13,135 INFO L226 Difference]: Without dead ends: 659 [2022-04-27 13:46:13,136 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 187 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-27 13:46:13,136 INFO L413 NwaCegarLoop]: 80 mSDtfsCounter, 187 mSDsluCounter, 238 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 106 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 187 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 106 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:46:13,137 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [187 Valid, 318 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [106 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:46:13,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 659 states. [2022-04-27 13:46:13,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 659 to 552. [2022-04-27 13:46:13,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:46:13,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 659 states. Second operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) [2022-04-27 13:46:13,519 INFO L74 IsIncluded]: Start isIncluded. First operand 659 states. Second operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) [2022-04-27 13:46:13,520 INFO L87 Difference]: Start difference. First operand 659 states. Second operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) [2022-04-27 13:46:13,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:13,546 INFO L93 Difference]: Finished difference Result 659 states and 886 transitions. [2022-04-27 13:46:13,546 INFO L276 IsEmpty]: Start isEmpty. Operand 659 states and 886 transitions. [2022-04-27 13:46:13,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:13,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:13,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) Second operand 659 states. [2022-04-27 13:46:13,550 INFO L87 Difference]: Start difference. First operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) Second operand 659 states. [2022-04-27 13:46:13,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:13,576 INFO L93 Difference]: Finished difference Result 659 states and 886 transitions. [2022-04-27 13:46:13,576 INFO L276 IsEmpty]: Start isEmpty. Operand 659 states and 886 transitions. [2022-04-27 13:46:13,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:13,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:13,578 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:46:13,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:46:13,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 552 states, 361 states have (on average 1.2825484764542936) internal successors, (463), 378 states have internal predecessors, (463), 136 states have call successors, (136), 56 states have call predecessors, (136), 54 states have return successors, (131), 117 states have call predecessors, (131), 131 states have call successors, (131) [2022-04-27 13:46:13,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 552 states to 552 states and 730 transitions. [2022-04-27 13:46:13,604 INFO L78 Accepts]: Start accepts. Automaton has 552 states and 730 transitions. Word has length 100 [2022-04-27 13:46:13,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:46:13,605 INFO L495 AbstractCegarLoop]: Abstraction has 552 states and 730 transitions. [2022-04-27 13:46:13,605 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.214285714285714) internal successors, (59), 14 states have internal predecessors, (59), 12 states have call successors, (32), 8 states have call predecessors, (32), 8 states have return successors, (30), 11 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:46:13,605 INFO L276 IsEmpty]: Start isEmpty. Operand 552 states and 730 transitions. [2022-04-27 13:46:13,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-27 13:46:13,606 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:46:13,606 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:46:13,632 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:46:13,820 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,SelfDestructingSolverStorable14 [2022-04-27 13:46:13,820 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:46:13,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:46:13,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1894816690, now seen corresponding path program 1 times [2022-04-27 13:46:13,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:46:13,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1705610749] [2022-04-27 13:46:13,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:13,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:46:13,836 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:46:13,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1338011971] [2022-04-27 13:46:13,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:13,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:13,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:46:13,838 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:46:13,838 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:46:13,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:13,899 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-27 13:46:13,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:13,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:46:14,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {15652#true} call ULTIMATE.init(); {15652#true} is VALID [2022-04-27 13:46:14,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {15652#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);~counter~0 := 0; {15660#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:14,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {15660#(<= ~counter~0 0)} assume true; {15660#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:14,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15660#(<= ~counter~0 0)} {15652#true} #92#return; {15660#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:14,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {15660#(<= ~counter~0 0)} call #t~ret7 := main(); {15660#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:14,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {15660#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15660#(<= ~counter~0 0)} is VALID [2022-04-27 13:46:14,352 INFO L290 TraceCheckUtils]: 6: Hoare triple {15660#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {15676#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,353 INFO L272 TraceCheckUtils]: 8: Hoare triple {15676#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {15676#(<= ~counter~0 1)} ~cond := #in~cond; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,353 INFO L290 TraceCheckUtils]: 10: Hoare triple {15676#(<= ~counter~0 1)} assume !(0 == ~cond); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,353 INFO L290 TraceCheckUtils]: 11: Hoare triple {15676#(<= ~counter~0 1)} assume true; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,354 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15676#(<= ~counter~0 1)} {15676#(<= ~counter~0 1)} #78#return; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,354 INFO L272 TraceCheckUtils]: 13: Hoare triple {15676#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {15676#(<= ~counter~0 1)} ~cond := #in~cond; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,355 INFO L290 TraceCheckUtils]: 15: Hoare triple {15676#(<= ~counter~0 1)} assume !(0 == ~cond); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {15676#(<= ~counter~0 1)} assume true; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,355 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15676#(<= ~counter~0 1)} {15676#(<= ~counter~0 1)} #80#return; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,356 INFO L272 TraceCheckUtils]: 18: Hoare triple {15676#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,356 INFO L290 TraceCheckUtils]: 19: Hoare triple {15676#(<= ~counter~0 1)} ~cond := #in~cond; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,356 INFO L290 TraceCheckUtils]: 20: Hoare triple {15676#(<= ~counter~0 1)} assume !(0 == ~cond); {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {15676#(<= ~counter~0 1)} assume true; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,357 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15676#(<= ~counter~0 1)} {15676#(<= ~counter~0 1)} #82#return; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {15676#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15676#(<= ~counter~0 1)} is VALID [2022-04-27 13:46:14,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {15676#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {15731#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,359 INFO L272 TraceCheckUtils]: 26: Hoare triple {15731#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,359 INFO L290 TraceCheckUtils]: 27: Hoare triple {15731#(<= ~counter~0 2)} ~cond := #in~cond; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,359 INFO L290 TraceCheckUtils]: 28: Hoare triple {15731#(<= ~counter~0 2)} assume !(0 == ~cond); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,359 INFO L290 TraceCheckUtils]: 29: Hoare triple {15731#(<= ~counter~0 2)} assume true; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,360 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15731#(<= ~counter~0 2)} {15731#(<= ~counter~0 2)} #78#return; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,360 INFO L272 TraceCheckUtils]: 31: Hoare triple {15731#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,360 INFO L290 TraceCheckUtils]: 32: Hoare triple {15731#(<= ~counter~0 2)} ~cond := #in~cond; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,361 INFO L290 TraceCheckUtils]: 33: Hoare triple {15731#(<= ~counter~0 2)} assume !(0 == ~cond); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,361 INFO L290 TraceCheckUtils]: 34: Hoare triple {15731#(<= ~counter~0 2)} assume true; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,361 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15731#(<= ~counter~0 2)} {15731#(<= ~counter~0 2)} #80#return; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,362 INFO L272 TraceCheckUtils]: 36: Hoare triple {15731#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {15731#(<= ~counter~0 2)} ~cond := #in~cond; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,368 INFO L290 TraceCheckUtils]: 38: Hoare triple {15731#(<= ~counter~0 2)} assume !(0 == ~cond); {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {15731#(<= ~counter~0 2)} assume true; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,369 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15731#(<= ~counter~0 2)} {15731#(<= ~counter~0 2)} #82#return; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {15731#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15731#(<= ~counter~0 2)} is VALID [2022-04-27 13:46:14,370 INFO L290 TraceCheckUtils]: 42: Hoare triple {15731#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,370 INFO L290 TraceCheckUtils]: 43: Hoare triple {15786#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,371 INFO L272 TraceCheckUtils]: 44: Hoare triple {15786#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,371 INFO L290 TraceCheckUtils]: 45: Hoare triple {15786#(<= ~counter~0 3)} ~cond := #in~cond; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,371 INFO L290 TraceCheckUtils]: 46: Hoare triple {15786#(<= ~counter~0 3)} assume !(0 == ~cond); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,372 INFO L290 TraceCheckUtils]: 47: Hoare triple {15786#(<= ~counter~0 3)} assume true; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,372 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15786#(<= ~counter~0 3)} {15786#(<= ~counter~0 3)} #78#return; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,372 INFO L272 TraceCheckUtils]: 49: Hoare triple {15786#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,373 INFO L290 TraceCheckUtils]: 50: Hoare triple {15786#(<= ~counter~0 3)} ~cond := #in~cond; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {15786#(<= ~counter~0 3)} assume !(0 == ~cond); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,373 INFO L290 TraceCheckUtils]: 52: Hoare triple {15786#(<= ~counter~0 3)} assume true; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,378 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15786#(<= ~counter~0 3)} {15786#(<= ~counter~0 3)} #80#return; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,378 INFO L272 TraceCheckUtils]: 54: Hoare triple {15786#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,379 INFO L290 TraceCheckUtils]: 55: Hoare triple {15786#(<= ~counter~0 3)} ~cond := #in~cond; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,379 INFO L290 TraceCheckUtils]: 56: Hoare triple {15786#(<= ~counter~0 3)} assume !(0 == ~cond); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,379 INFO L290 TraceCheckUtils]: 57: Hoare triple {15786#(<= ~counter~0 3)} assume true; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,380 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15786#(<= ~counter~0 3)} {15786#(<= ~counter~0 3)} #82#return; {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,380 INFO L290 TraceCheckUtils]: 59: Hoare triple {15786#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {15786#(<= ~counter~0 3)} is VALID [2022-04-27 13:46:14,381 INFO L290 TraceCheckUtils]: 60: Hoare triple {15786#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,381 INFO L290 TraceCheckUtils]: 61: Hoare triple {15841#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,381 INFO L272 TraceCheckUtils]: 62: Hoare triple {15841#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,382 INFO L290 TraceCheckUtils]: 63: Hoare triple {15841#(<= ~counter~0 4)} ~cond := #in~cond; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,382 INFO L290 TraceCheckUtils]: 64: Hoare triple {15841#(<= ~counter~0 4)} assume !(0 == ~cond); {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,382 INFO L290 TraceCheckUtils]: 65: Hoare triple {15841#(<= ~counter~0 4)} assume true; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,383 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15841#(<= ~counter~0 4)} {15841#(<= ~counter~0 4)} #84#return; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,383 INFO L272 TraceCheckUtils]: 67: Hoare triple {15841#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,383 INFO L290 TraceCheckUtils]: 68: Hoare triple {15841#(<= ~counter~0 4)} ~cond := #in~cond; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,384 INFO L290 TraceCheckUtils]: 69: Hoare triple {15841#(<= ~counter~0 4)} assume !(0 == ~cond); {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,384 INFO L290 TraceCheckUtils]: 70: Hoare triple {15841#(<= ~counter~0 4)} assume true; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,384 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15841#(<= ~counter~0 4)} {15841#(<= ~counter~0 4)} #86#return; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,385 INFO L290 TraceCheckUtils]: 72: Hoare triple {15841#(<= ~counter~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); {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,385 INFO L290 TraceCheckUtils]: 73: Hoare triple {15841#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15841#(<= ~counter~0 4)} is VALID [2022-04-27 13:46:14,385 INFO L290 TraceCheckUtils]: 74: Hoare triple {15841#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,386 INFO L290 TraceCheckUtils]: 75: Hoare triple {15884#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,386 INFO L272 TraceCheckUtils]: 76: Hoare triple {15884#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,386 INFO L290 TraceCheckUtils]: 77: Hoare triple {15884#(<= ~counter~0 5)} ~cond := #in~cond; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,387 INFO L290 TraceCheckUtils]: 78: Hoare triple {15884#(<= ~counter~0 5)} assume !(0 == ~cond); {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,387 INFO L290 TraceCheckUtils]: 79: Hoare triple {15884#(<= ~counter~0 5)} assume true; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,387 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15884#(<= ~counter~0 5)} {15884#(<= ~counter~0 5)} #84#return; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,388 INFO L272 TraceCheckUtils]: 81: Hoare triple {15884#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,388 INFO L290 TraceCheckUtils]: 82: Hoare triple {15884#(<= ~counter~0 5)} ~cond := #in~cond; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,388 INFO L290 TraceCheckUtils]: 83: Hoare triple {15884#(<= ~counter~0 5)} assume !(0 == ~cond); {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,389 INFO L290 TraceCheckUtils]: 84: Hoare triple {15884#(<= ~counter~0 5)} assume true; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,389 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15884#(<= ~counter~0 5)} {15884#(<= ~counter~0 5)} #86#return; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,389 INFO L290 TraceCheckUtils]: 86: Hoare triple {15884#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,390 INFO L290 TraceCheckUtils]: 87: Hoare triple {15884#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15884#(<= ~counter~0 5)} is VALID [2022-04-27 13:46:14,390 INFO L290 TraceCheckUtils]: 88: Hoare triple {15884#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,391 INFO L290 TraceCheckUtils]: 89: Hoare triple {15927#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,391 INFO L272 TraceCheckUtils]: 90: Hoare triple {15927#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,391 INFO L290 TraceCheckUtils]: 91: Hoare triple {15927#(<= ~counter~0 6)} ~cond := #in~cond; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,392 INFO L290 TraceCheckUtils]: 92: Hoare triple {15927#(<= ~counter~0 6)} assume !(0 == ~cond); {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,392 INFO L290 TraceCheckUtils]: 93: Hoare triple {15927#(<= ~counter~0 6)} assume true; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,392 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {15927#(<= ~counter~0 6)} {15927#(<= ~counter~0 6)} #84#return; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,393 INFO L272 TraceCheckUtils]: 95: Hoare triple {15927#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,393 INFO L290 TraceCheckUtils]: 96: Hoare triple {15927#(<= ~counter~0 6)} ~cond := #in~cond; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,393 INFO L290 TraceCheckUtils]: 97: Hoare triple {15927#(<= ~counter~0 6)} assume !(0 == ~cond); {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,394 INFO L290 TraceCheckUtils]: 98: Hoare triple {15927#(<= ~counter~0 6)} assume true; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,394 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {15927#(<= ~counter~0 6)} {15927#(<= ~counter~0 6)} #86#return; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,394 INFO L290 TraceCheckUtils]: 100: Hoare triple {15927#(<= ~counter~0 6)} 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); {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,395 INFO L290 TraceCheckUtils]: 101: Hoare triple {15927#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15927#(<= ~counter~0 6)} is VALID [2022-04-27 13:46:14,395 INFO L290 TraceCheckUtils]: 102: Hoare triple {15927#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15970#(<= |main_#t~post6| 6)} is VALID [2022-04-27 13:46:14,397 INFO L290 TraceCheckUtils]: 103: Hoare triple {15970#(<= |main_#t~post6| 6)} assume !(#t~post6 < 100);havoc #t~post6; {15653#false} is VALID [2022-04-27 13:46:14,397 INFO L272 TraceCheckUtils]: 104: Hoare triple {15653#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15653#false} is VALID [2022-04-27 13:46:14,397 INFO L290 TraceCheckUtils]: 105: Hoare triple {15653#false} ~cond := #in~cond; {15653#false} is VALID [2022-04-27 13:46:14,397 INFO L290 TraceCheckUtils]: 106: Hoare triple {15653#false} assume 0 == ~cond; {15653#false} is VALID [2022-04-27 13:46:14,397 INFO L290 TraceCheckUtils]: 107: Hoare triple {15653#false} assume !false; {15653#false} is VALID [2022-04-27 13:46:14,398 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 414 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-27 13:46:14,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:46:14,907 INFO L290 TraceCheckUtils]: 107: Hoare triple {15653#false} assume !false; {15653#false} is VALID [2022-04-27 13:46:14,908 INFO L290 TraceCheckUtils]: 106: Hoare triple {15653#false} assume 0 == ~cond; {15653#false} is VALID [2022-04-27 13:46:14,908 INFO L290 TraceCheckUtils]: 105: Hoare triple {15653#false} ~cond := #in~cond; {15653#false} is VALID [2022-04-27 13:46:14,908 INFO L272 TraceCheckUtils]: 104: Hoare triple {15653#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15653#false} is VALID [2022-04-27 13:46:14,908 INFO L290 TraceCheckUtils]: 103: Hoare triple {15998#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {15653#false} is VALID [2022-04-27 13:46:14,908 INFO L290 TraceCheckUtils]: 102: Hoare triple {16002#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15998#(< |main_#t~post6| 100)} is VALID [2022-04-27 13:46:14,909 INFO L290 TraceCheckUtils]: 101: Hoare triple {16002#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,909 INFO L290 TraceCheckUtils]: 100: Hoare triple {16002#(< ~counter~0 100)} 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); {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,909 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {15652#true} {16002#(< ~counter~0 100)} #86#return; {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,909 INFO L290 TraceCheckUtils]: 98: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L290 TraceCheckUtils]: 97: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L290 TraceCheckUtils]: 96: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L272 TraceCheckUtils]: 95: Hoare triple {16002#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {15652#true} {16002#(< ~counter~0 100)} #84#return; {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,910 INFO L290 TraceCheckUtils]: 93: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L290 TraceCheckUtils]: 92: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L290 TraceCheckUtils]: 91: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,910 INFO L272 TraceCheckUtils]: 90: Hoare triple {16002#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,911 INFO L290 TraceCheckUtils]: 89: Hoare triple {16002#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,911 INFO L290 TraceCheckUtils]: 88: Hoare triple {16045#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16002#(< ~counter~0 100)} is VALID [2022-04-27 13:46:14,912 INFO L290 TraceCheckUtils]: 87: Hoare triple {16045#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,912 INFO L290 TraceCheckUtils]: 86: Hoare triple {16045#(< ~counter~0 99)} 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); {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,912 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15652#true} {16045#(< ~counter~0 99)} #86#return; {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,912 INFO L290 TraceCheckUtils]: 84: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,912 INFO L290 TraceCheckUtils]: 83: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L290 TraceCheckUtils]: 82: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L272 TraceCheckUtils]: 81: Hoare triple {16045#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15652#true} {16045#(< ~counter~0 99)} #84#return; {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,913 INFO L290 TraceCheckUtils]: 79: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L290 TraceCheckUtils]: 78: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L290 TraceCheckUtils]: 77: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,913 INFO L272 TraceCheckUtils]: 76: Hoare triple {16045#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,914 INFO L290 TraceCheckUtils]: 75: Hoare triple {16045#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,914 INFO L290 TraceCheckUtils]: 74: Hoare triple {16088#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16045#(< ~counter~0 99)} is VALID [2022-04-27 13:46:14,914 INFO L290 TraceCheckUtils]: 73: Hoare triple {16088#(< ~counter~0 98)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,915 INFO L290 TraceCheckUtils]: 72: Hoare triple {16088#(< ~counter~0 98)} 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); {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,915 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15652#true} {16088#(< ~counter~0 98)} #86#return; {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,915 INFO L290 TraceCheckUtils]: 70: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,915 INFO L290 TraceCheckUtils]: 69: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,915 INFO L290 TraceCheckUtils]: 68: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,915 INFO L272 TraceCheckUtils]: 67: Hoare triple {16088#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,916 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15652#true} {16088#(< ~counter~0 98)} #84#return; {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,916 INFO L290 TraceCheckUtils]: 65: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,916 INFO L290 TraceCheckUtils]: 64: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,916 INFO L290 TraceCheckUtils]: 63: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,916 INFO L272 TraceCheckUtils]: 62: Hoare triple {16088#(< ~counter~0 98)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,916 INFO L290 TraceCheckUtils]: 61: Hoare triple {16088#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,917 INFO L290 TraceCheckUtils]: 60: Hoare triple {16131#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16088#(< ~counter~0 98)} is VALID [2022-04-27 13:46:14,917 INFO L290 TraceCheckUtils]: 59: Hoare triple {16131#(< ~counter~0 97)} assume !(~r~0 >= ~d~0); {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,917 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15652#true} {16131#(< ~counter~0 97)} #82#return; {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 57: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 56: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 55: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L272 TraceCheckUtils]: 54: Hoare triple {16131#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15652#true} {16131#(< ~counter~0 97)} #80#return; {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 52: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 51: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L290 TraceCheckUtils]: 50: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,918 INFO L272 TraceCheckUtils]: 49: Hoare triple {16131#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,919 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15652#true} {16131#(< ~counter~0 97)} #78#return; {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,919 INFO L290 TraceCheckUtils]: 47: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,919 INFO L272 TraceCheckUtils]: 44: Hoare triple {16131#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {16131#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {16186#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16131#(< ~counter~0 97)} is VALID [2022-04-27 13:46:14,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {16186#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,920 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15652#true} {16186#(< ~counter~0 96)} #82#return; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 39: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 37: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L272 TraceCheckUtils]: 36: Hoare triple {16186#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15652#true} {16186#(< ~counter~0 96)} #80#return; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,921 INFO L272 TraceCheckUtils]: 31: Hoare triple {16186#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,922 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15652#true} {16186#(< ~counter~0 96)} #78#return; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,922 INFO L290 TraceCheckUtils]: 29: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,922 INFO L290 TraceCheckUtils]: 28: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,922 INFO L290 TraceCheckUtils]: 27: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,922 INFO L272 TraceCheckUtils]: 26: Hoare triple {16186#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {16186#(< ~counter~0 96)} assume !!(#t~post5 < 100);havoc #t~post5; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,923 INFO L290 TraceCheckUtils]: 24: Hoare triple {16241#(< ~counter~0 95)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16186#(< ~counter~0 96)} is VALID [2022-04-27 13:46:14,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {16241#(< ~counter~0 95)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,923 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15652#true} {16241#(< ~counter~0 95)} #82#return; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 21: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 20: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 19: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L272 TraceCheckUtils]: 18: Hoare triple {16241#(< ~counter~0 95)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15652#true} {16241#(< ~counter~0 95)} #80#return; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,924 INFO L272 TraceCheckUtils]: 13: Hoare triple {16241#(< ~counter~0 95)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,925 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15652#true} {16241#(< ~counter~0 95)} #78#return; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {15652#true} assume true; {15652#true} is VALID [2022-04-27 13:46:14,925 INFO L290 TraceCheckUtils]: 10: Hoare triple {15652#true} assume !(0 == ~cond); {15652#true} is VALID [2022-04-27 13:46:14,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {15652#true} ~cond := #in~cond; {15652#true} is VALID [2022-04-27 13:46:14,925 INFO L272 TraceCheckUtils]: 8: Hoare triple {16241#(< ~counter~0 95)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15652#true} is VALID [2022-04-27 13:46:14,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {16241#(< ~counter~0 95)} assume !!(#t~post5 < 100);havoc #t~post5; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {16296#(< ~counter~0 94)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16241#(< ~counter~0 95)} is VALID [2022-04-27 13:46:14,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {16296#(< ~counter~0 94)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {16296#(< ~counter~0 94)} is VALID [2022-04-27 13:46:14,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {16296#(< ~counter~0 94)} call #t~ret7 := main(); {16296#(< ~counter~0 94)} is VALID [2022-04-27 13:46:14,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16296#(< ~counter~0 94)} {15652#true} #92#return; {16296#(< ~counter~0 94)} is VALID [2022-04-27 13:46:14,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {16296#(< ~counter~0 94)} assume true; {16296#(< ~counter~0 94)} is VALID [2022-04-27 13:46:14,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {15652#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);~counter~0 := 0; {16296#(< ~counter~0 94)} is VALID [2022-04-27 13:46:14,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {15652#true} call ULTIMATE.init(); {15652#true} is VALID [2022-04-27 13:46:14,928 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 42 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-27 13:46:14,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:46:14,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1705610749] [2022-04-27 13:46:14,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:46:14,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1338011971] [2022-04-27 13:46:14,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1338011971] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:46:14,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:46:14,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-27 13:46:14,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [829832451] [2022-04-27 13:46:14,929 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:46:14,929 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) Word has length 108 [2022-04-27 13:46:14,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:46:14,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) [2022-04-27 13:46:15,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:15,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:46:15,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:46:15,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:46:15,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:46:15,046 INFO L87 Difference]: Start difference. First operand 552 states and 730 transitions. Second operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) [2022-04-27 13:46:17,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:17,252 INFO L93 Difference]: Finished difference Result 1159 states and 1613 transitions. [2022-04-27 13:46:17,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 13:46:17,252 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) Word has length 108 [2022-04-27 13:46:17,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:46:17,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) [2022-04-27 13:46:17,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 363 transitions. [2022-04-27 13:46:17,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) [2022-04-27 13:46:17,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 363 transitions. [2022-04-27 13:46:17,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 363 transitions. [2022-04-27 13:46:17,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 363 edges. 363 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:17,698 INFO L225 Difference]: With dead ends: 1159 [2022-04-27 13:46:17,698 INFO L226 Difference]: Without dead ends: 1122 [2022-04-27 13:46:17,699 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=259, Invalid=497, Unknown=0, NotChecked=0, Total=756 [2022-04-27 13:46:17,700 INFO L413 NwaCegarLoop]: 100 mSDtfsCounter, 323 mSDsluCounter, 384 mSDsCounter, 0 mSdLazyCounter, 264 mSolverCounterSat, 223 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 323 SdHoareTripleChecker+Valid, 484 SdHoareTripleChecker+Invalid, 487 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 223 IncrementalHoareTripleChecker+Valid, 264 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:46:17,700 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [323 Valid, 484 Invalid, 487 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [223 Valid, 264 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:46:17,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1122 states. [2022-04-27 13:46:18,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1122 to 1097. [2022-04-27 13:46:18,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:46:18,509 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1122 states. Second operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:18,511 INFO L74 IsIncluded]: Start isIncluded. First operand 1122 states. Second operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:18,513 INFO L87 Difference]: Start difference. First operand 1122 states. Second operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:18,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:18,573 INFO L93 Difference]: Finished difference Result 1122 states and 1474 transitions. [2022-04-27 13:46:18,573 INFO L276 IsEmpty]: Start isEmpty. Operand 1122 states and 1474 transitions. [2022-04-27 13:46:18,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:18,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:18,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) Second operand 1122 states. [2022-04-27 13:46:18,581 INFO L87 Difference]: Start difference. First operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) Second operand 1122 states. [2022-04-27 13:46:18,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:18,655 INFO L93 Difference]: Finished difference Result 1122 states and 1474 transitions. [2022-04-27 13:46:18,655 INFO L276 IsEmpty]: Start isEmpty. Operand 1122 states and 1474 transitions. [2022-04-27 13:46:18,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:18,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:18,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:46:18,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:46:18,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1097 states, 729 states have (on average 1.2455418381344308) internal successors, (908), 758 states have internal predecessors, (908), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:18,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1097 states to 1097 states and 1457 transitions. [2022-04-27 13:46:18,731 INFO L78 Accepts]: Start accepts. Automaton has 1097 states and 1457 transitions. Word has length 108 [2022-04-27 13:46:18,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:46:18,731 INFO L495 AbstractCegarLoop]: Abstraction has 1097 states and 1457 transitions. [2022-04-27 13:46:18,732 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 16 states have call successors, (34), 10 states have call predecessors, (34), 9 states have return successors, (32), 14 states have call predecessors, (32), 13 states have call successors, (32) [2022-04-27 13:46:18,732 INFO L276 IsEmpty]: Start isEmpty. Operand 1097 states and 1457 transitions. [2022-04-27 13:46:18,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-27 13:46:18,733 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:46:18,733 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:46:18,758 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-27 13:46:18,947 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 13:46:18,947 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:46:18,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:46:18,948 INFO L85 PathProgramCache]: Analyzing trace with hash 1873291208, now seen corresponding path program 1 times [2022-04-27 13:46:18,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:46:18,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1916736425] [2022-04-27 13:46:18,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:18,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:46:18,969 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:46:18,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [982474295] [2022-04-27 13:46:18,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:18,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:18,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:46:18,970 INFO L229 MonitoredProcess]: Starting monitored process 14 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:46:18,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-27 13:46:19,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:19,029 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:46:19,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:19,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:46:19,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {21623#true} call ULTIMATE.init(); {21623#true} is VALID [2022-04-27 13:46:19,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {21623#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);~counter~0 := 0; {21623#true} is VALID [2022-04-27 13:46:19,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21623#true} {21623#true} #92#return; {21623#true} is VALID [2022-04-27 13:46:19,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {21623#true} call #t~ret7 := main(); {21623#true} is VALID [2022-04-27 13:46:19,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {21623#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !!(#t~post5 < 100);havoc #t~post5; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,597 INFO L272 TraceCheckUtils]: 8: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,597 INFO L290 TraceCheckUtils]: 10: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,598 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #78#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,598 INFO L272 TraceCheckUtils]: 13: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,599 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #80#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,599 INFO L272 TraceCheckUtils]: 18: Hoare triple {21643#(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)); {21623#true} is VALID [2022-04-27 13:46:19,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,599 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #82#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {21643#(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; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(#t~post5 < 100);havoc #t~post5; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,600 INFO L272 TraceCheckUtils]: 26: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,600 INFO L290 TraceCheckUtils]: 28: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,601 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21623#true} {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #78#return; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,601 INFO L272 TraceCheckUtils]: 31: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,601 INFO L290 TraceCheckUtils]: 33: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,601 INFO L290 TraceCheckUtils]: 34: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,602 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {21623#true} {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #80#return; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,602 INFO L272 TraceCheckUtils]: 36: Hoare triple {21698#(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)); {21623#true} is VALID [2022-04-27 13:46:19,602 INFO L290 TraceCheckUtils]: 37: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,602 INFO L290 TraceCheckUtils]: 38: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,603 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {21623#true} {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #82#return; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,603 INFO L290 TraceCheckUtils]: 41: Hoare triple {21698#(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; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,604 INFO L290 TraceCheckUtils]: 42: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,604 INFO L290 TraceCheckUtils]: 43: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !!(#t~post5 < 100);havoc #t~post5; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,604 INFO L272 TraceCheckUtils]: 44: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,604 INFO L290 TraceCheckUtils]: 45: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,604 INFO L290 TraceCheckUtils]: 46: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,604 INFO L290 TraceCheckUtils]: 47: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,605 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {21623#true} {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #78#return; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,605 INFO L272 TraceCheckUtils]: 49: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:19,605 INFO L290 TraceCheckUtils]: 50: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,605 INFO L290 TraceCheckUtils]: 51: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,605 INFO L290 TraceCheckUtils]: 52: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,605 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21623#true} {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #80#return; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,606 INFO L272 TraceCheckUtils]: 54: Hoare triple {21753#(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)); {21623#true} is VALID [2022-04-27 13:46:19,606 INFO L290 TraceCheckUtils]: 55: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,606 INFO L290 TraceCheckUtils]: 56: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,606 INFO L290 TraceCheckUtils]: 57: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,607 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {21623#true} {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #82#return; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,607 INFO L290 TraceCheckUtils]: 59: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !(~r~0 >= ~d~0); {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,607 INFO L290 TraceCheckUtils]: 60: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,608 INFO L290 TraceCheckUtils]: 61: Hoare triple {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !!(#t~post6 < 100);havoc #t~post6; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,608 INFO L272 TraceCheckUtils]: 62: Hoare triple {21753#(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)); {21623#true} is VALID [2022-04-27 13:46:19,608 INFO L290 TraceCheckUtils]: 63: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,608 INFO L290 TraceCheckUtils]: 64: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,608 INFO L290 TraceCheckUtils]: 65: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,608 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {21623#true} {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #84#return; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,608 INFO L272 TraceCheckUtils]: 67: Hoare triple {21753#(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)); {21623#true} is VALID [2022-04-27 13:46:19,609 INFO L290 TraceCheckUtils]: 68: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,609 INFO L290 TraceCheckUtils]: 69: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,609 INFO L290 TraceCheckUtils]: 70: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,609 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21623#true} {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #86#return; {21753#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:46:19,610 INFO L290 TraceCheckUtils]: 72: Hoare triple {21753#(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); {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,610 INFO L290 TraceCheckUtils]: 73: Hoare triple {21698#(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; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,611 INFO L290 TraceCheckUtils]: 74: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,611 INFO L290 TraceCheckUtils]: 75: Hoare triple {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(#t~post6 < 100);havoc #t~post6; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,611 INFO L272 TraceCheckUtils]: 76: Hoare triple {21698#(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)); {21623#true} is VALID [2022-04-27 13:46:19,611 INFO L290 TraceCheckUtils]: 77: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,611 INFO L290 TraceCheckUtils]: 78: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,611 INFO L290 TraceCheckUtils]: 79: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,612 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21623#true} {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #84#return; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,612 INFO L272 TraceCheckUtils]: 81: Hoare triple {21698#(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)); {21623#true} is VALID [2022-04-27 13:46:19,612 INFO L290 TraceCheckUtils]: 82: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,612 INFO L290 TraceCheckUtils]: 83: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,612 INFO L290 TraceCheckUtils]: 84: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,612 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21623#true} {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #86#return; {21698#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:46:19,613 INFO L290 TraceCheckUtils]: 86: Hoare triple {21698#(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); {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,614 INFO L290 TraceCheckUtils]: 87: Hoare triple {21643#(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; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,614 INFO L290 TraceCheckUtils]: 88: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,614 INFO L290 TraceCheckUtils]: 89: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !!(#t~post6 < 100);havoc #t~post6; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,614 INFO L272 TraceCheckUtils]: 90: Hoare triple {21643#(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)); {21623#true} is VALID [2022-04-27 13:46:19,614 INFO L290 TraceCheckUtils]: 91: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L290 TraceCheckUtils]: 92: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L290 TraceCheckUtils]: 93: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #84#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,615 INFO L272 TraceCheckUtils]: 95: Hoare triple {21643#(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)); {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L290 TraceCheckUtils]: 96: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L290 TraceCheckUtils]: 97: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,615 INFO L290 TraceCheckUtils]: 98: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,616 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #86#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,616 INFO L290 TraceCheckUtils]: 100: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,616 INFO L272 TraceCheckUtils]: 101: Hoare triple {21643#(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)); {21623#true} is VALID [2022-04-27 13:46:19,616 INFO L290 TraceCheckUtils]: 102: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:19,616 INFO L290 TraceCheckUtils]: 103: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:19,616 INFO L290 TraceCheckUtils]: 104: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:19,617 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {21623#true} {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #88#return; {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:46:19,617 INFO L272 TraceCheckUtils]: 106: Hoare triple {21643#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {21949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:46:19,618 INFO L290 TraceCheckUtils]: 107: Hoare triple {21949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:46:19,618 INFO L290 TraceCheckUtils]: 108: Hoare triple {21953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21624#false} is VALID [2022-04-27 13:46:19,618 INFO L290 TraceCheckUtils]: 109: Hoare triple {21624#false} assume !false; {21624#false} is VALID [2022-04-27 13:46:19,618 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 32 proven. 34 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:46:19,618 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:46:20,781 INFO L290 TraceCheckUtils]: 109: Hoare triple {21624#false} assume !false; {21624#false} is VALID [2022-04-27 13:46:20,782 INFO L290 TraceCheckUtils]: 108: Hoare triple {21953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21624#false} is VALID [2022-04-27 13:46:20,782 INFO L290 TraceCheckUtils]: 107: Hoare triple {21949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:46:20,782 INFO L272 TraceCheckUtils]: 106: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {21949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:46:20,783 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #88#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,783 INFO L290 TraceCheckUtils]: 104: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,783 INFO L290 TraceCheckUtils]: 103: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,783 INFO L290 TraceCheckUtils]: 102: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,783 INFO L272 TraceCheckUtils]: 101: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,784 INFO L290 TraceCheckUtils]: 100: Hoare triple {21969#(= main_~B~0 main_~d~0)} assume !(1 != ~p~0); {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,784 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #86#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,784 INFO L290 TraceCheckUtils]: 98: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,784 INFO L290 TraceCheckUtils]: 97: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,784 INFO L290 TraceCheckUtils]: 96: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,784 INFO L272 TraceCheckUtils]: 95: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,785 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #84#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,785 INFO L290 TraceCheckUtils]: 93: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,785 INFO L290 TraceCheckUtils]: 92: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,785 INFO L290 TraceCheckUtils]: 91: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,785 INFO L272 TraceCheckUtils]: 90: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,785 INFO L290 TraceCheckUtils]: 89: Hoare triple {21969#(= main_~B~0 main_~d~0)} assume !!(#t~post6 < 100);havoc #t~post6; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,786 INFO L290 TraceCheckUtils]: 88: Hoare triple {21969#(= main_~B~0 main_~d~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,786 INFO L290 TraceCheckUtils]: 87: Hoare triple {21969#(= main_~B~0 main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,787 INFO L290 TraceCheckUtils]: 86: Hoare triple {22030#(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); {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,788 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21623#true} {22030#(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; {22030#(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:46:20,788 INFO L290 TraceCheckUtils]: 84: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,788 INFO L290 TraceCheckUtils]: 83: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,788 INFO L290 TraceCheckUtils]: 82: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,788 INFO L272 TraceCheckUtils]: 81: Hoare triple {22030#(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)); {21623#true} is VALID [2022-04-27 13:46:20,789 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21623#true} {22030#(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; {22030#(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:46:20,789 INFO L290 TraceCheckUtils]: 79: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,789 INFO L290 TraceCheckUtils]: 78: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,789 INFO L290 TraceCheckUtils]: 77: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,789 INFO L272 TraceCheckUtils]: 76: Hoare triple {22030#(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)); {21623#true} is VALID [2022-04-27 13:46:20,790 INFO L290 TraceCheckUtils]: 75: Hoare triple {22030#(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 !!(#t~post6 < 100);havoc #t~post6; {22030#(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:46:20,790 INFO L290 TraceCheckUtils]: 74: Hoare triple {22030#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22030#(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:46:20,791 INFO L290 TraceCheckUtils]: 73: Hoare triple {22030#(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; {22030#(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:46:20,793 INFO L290 TraceCheckUtils]: 72: Hoare triple {22073#(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); {22030#(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:46:20,794 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21623#true} {22073#(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; {22073#(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:46:20,794 INFO L290 TraceCheckUtils]: 70: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,794 INFO L290 TraceCheckUtils]: 69: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,794 INFO L290 TraceCheckUtils]: 68: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,794 INFO L272 TraceCheckUtils]: 67: Hoare triple {22073#(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)); {21623#true} is VALID [2022-04-27 13:46:20,795 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {21623#true} {22073#(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; {22073#(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:46:20,795 INFO L290 TraceCheckUtils]: 65: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,795 INFO L290 TraceCheckUtils]: 64: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,795 INFO L290 TraceCheckUtils]: 63: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,795 INFO L272 TraceCheckUtils]: 62: Hoare triple {22073#(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)); {21623#true} is VALID [2022-04-27 13:46:20,796 INFO L290 TraceCheckUtils]: 61: Hoare triple {22073#(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 !!(#t~post6 < 100);havoc #t~post6; {22073#(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:46:20,797 INFO L290 TraceCheckUtils]: 60: Hoare triple {22073#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22073#(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:46:20,798 INFO L290 TraceCheckUtils]: 59: Hoare triple {22073#(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); {22073#(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:46:20,798 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {21623#true} {22073#(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; {22073#(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:46:20,799 INFO L290 TraceCheckUtils]: 57: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L290 TraceCheckUtils]: 56: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L290 TraceCheckUtils]: 55: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L272 TraceCheckUtils]: 54: Hoare triple {22073#(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)); {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21623#true} {22073#(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; {22073#(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:46:20,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,800 INFO L272 TraceCheckUtils]: 49: Hoare triple {22073#(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)); {21623#true} is VALID [2022-04-27 13:46:20,800 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {21623#true} {22073#(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)))} #78#return; {22073#(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:46:20,800 INFO L290 TraceCheckUtils]: 47: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,800 INFO L290 TraceCheckUtils]: 46: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,800 INFO L290 TraceCheckUtils]: 45: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,800 INFO L272 TraceCheckUtils]: 44: Hoare triple {22073#(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)); {21623#true} is VALID [2022-04-27 13:46:20,801 INFO L290 TraceCheckUtils]: 43: Hoare triple {22073#(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 !!(#t~post5 < 100);havoc #t~post5; {22073#(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:46:20,802 INFO L290 TraceCheckUtils]: 42: Hoare triple {22073#(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)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22073#(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:46:20,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {22030#(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; {22073#(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:46:20,805 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {21623#true} {22030#(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; {22030#(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:46:20,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,805 INFO L290 TraceCheckUtils]: 37: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,805 INFO L272 TraceCheckUtils]: 36: Hoare triple {22030#(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)); {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {21623#true} {22030#(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; {22030#(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:46:20,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L290 TraceCheckUtils]: 32: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L272 TraceCheckUtils]: 31: Hoare triple {22030#(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)); {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21623#true} {22030#(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)))} #78#return; {22030#(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:46:20,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,806 INFO L290 TraceCheckUtils]: 28: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,807 INFO L290 TraceCheckUtils]: 27: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,807 INFO L272 TraceCheckUtils]: 26: Hoare triple {22030#(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)); {21623#true} is VALID [2022-04-27 13:46:20,807 INFO L290 TraceCheckUtils]: 25: Hoare triple {22030#(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 !!(#t~post5 < 100);havoc #t~post5; {22030#(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:46:20,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {22030#(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)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22030#(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:46:20,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {21969#(= main_~B~0 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22030#(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:46:20,809 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #82#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,809 INFO L290 TraceCheckUtils]: 21: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L272 TraceCheckUtils]: 18: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #80#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,810 INFO L272 TraceCheckUtils]: 13: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,811 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {21623#true} {21969#(= main_~B~0 main_~d~0)} #78#return; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,811 INFO L290 TraceCheckUtils]: 10: Hoare triple {21623#true} assume !(0 == ~cond); {21623#true} is VALID [2022-04-27 13:46:20,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {21623#true} ~cond := #in~cond; {21623#true} is VALID [2022-04-27 13:46:20,811 INFO L272 TraceCheckUtils]: 8: Hoare triple {21969#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21623#true} is VALID [2022-04-27 13:46:20,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {21969#(= main_~B~0 main_~d~0)} assume !!(#t~post5 < 100);havoc #t~post5; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {21969#(= main_~B~0 main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {21623#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {21969#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:46:20,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {21623#true} call #t~ret7 := main(); {21623#true} is VALID [2022-04-27 13:46:20,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21623#true} {21623#true} #92#return; {21623#true} is VALID [2022-04-27 13:46:20,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {21623#true} assume true; {21623#true} is VALID [2022-04-27 13:46:20,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {21623#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);~counter~0 := 0; {21623#true} is VALID [2022-04-27 13:46:20,812 INFO L272 TraceCheckUtils]: 0: Hoare triple {21623#true} call ULTIMATE.init(); {21623#true} is VALID [2022-04-27 13:46:20,813 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 32 proven. 34 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:46:20,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:46:20,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1916736425] [2022-04-27 13:46:20,813 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:46:20,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [982474295] [2022-04-27 13:46:20,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [982474295] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:46:20,813 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:46:20,813 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:46:20,813 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1908667734] [2022-04-27 13:46:20,813 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:46:20,814 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) Word has length 110 [2022-04-27 13:46:20,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:46:20,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 13:46:20,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:20,931 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:46:20,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:46:20,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:46:20,932 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:46:20,932 INFO L87 Difference]: Start difference. First operand 1097 states and 1457 transitions. Second operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 13:46:23,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:23,820 INFO L93 Difference]: Finished difference Result 1103 states and 1463 transitions. [2022-04-27 13:46:23,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:46:23,821 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) Word has length 110 [2022-04-27 13:46:23,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:46:23,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 13:46:23,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-27 13:46:23,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 13:46:23,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-27 13:46:23,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 95 transitions. [2022-04-27 13:46:23,923 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:46:23,992 INFO L225 Difference]: With dead ends: 1103 [2022-04-27 13:46:23,992 INFO L226 Difference]: Without dead ends: 1097 [2022-04-27 13:46:23,993 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:46:23,993 INFO L413 NwaCegarLoop]: 65 mSDtfsCounter, 3 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 192 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 192 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 192 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:46:23,994 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 295 Invalid, 192 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 192 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:46:23,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1097 states. [2022-04-27 13:46:24,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1097 to 1097. [2022-04-27 13:46:24,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:46:24,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1097 states. Second operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:24,771 INFO L74 IsIncluded]: Start isIncluded. First operand 1097 states. Second operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:24,773 INFO L87 Difference]: Start difference. First operand 1097 states. Second operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:24,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:24,831 INFO L93 Difference]: Finished difference Result 1097 states and 1455 transitions. [2022-04-27 13:46:24,831 INFO L276 IsEmpty]: Start isEmpty. Operand 1097 states and 1455 transitions. [2022-04-27 13:46:24,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:24,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:24,837 INFO L74 IsIncluded]: Start isIncluded. First operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) Second operand 1097 states. [2022-04-27 13:46:24,839 INFO L87 Difference]: Start difference. First operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) Second operand 1097 states. [2022-04-27 13:46:24,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:24,897 INFO L93 Difference]: Finished difference Result 1097 states and 1455 transitions. [2022-04-27 13:46:24,897 INFO L276 IsEmpty]: Start isEmpty. Operand 1097 states and 1455 transitions. [2022-04-27 13:46:24,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:24,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:24,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:46:24,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:46:24,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1097 states, 729 states have (on average 1.242798353909465) internal successors, (906), 758 states have internal predecessors, (906), 279 states have call successors, (279), 90 states have call predecessors, (279), 88 states have return successors, (270), 248 states have call predecessors, (270), 270 states have call successors, (270) [2022-04-27 13:46:24,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1097 states to 1097 states and 1455 transitions. [2022-04-27 13:46:24,974 INFO L78 Accepts]: Start accepts. Automaton has 1097 states and 1455 transitions. Word has length 110 [2022-04-27 13:46:24,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:46:24,975 INFO L495 AbstractCegarLoop]: Abstraction has 1097 states and 1455 transitions. [2022-04-27 13:46:24,975 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 7 states have call successors, (36), 2 states have call predecessors, (36), 1 states have return successors, (33), 7 states have call predecessors, (33), 7 states have call successors, (33) [2022-04-27 13:46:24,975 INFO L276 IsEmpty]: Start isEmpty. Operand 1097 states and 1455 transitions. [2022-04-27 13:46:24,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-27 13:46:24,977 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:46:24,977 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:46:25,001 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-27 13:46:25,191 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-27 13:46:25,192 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:46:25,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:46:25,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1491499276, now seen corresponding path program 2 times [2022-04-27 13:46:25,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:46:25,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308643881] [2022-04-27 13:46:25,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:25,192 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:46:25,216 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:46:25,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1552691996] [2022-04-27 13:46:25,216 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:46:25,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:25,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:46:25,218 INFO L229 MonitoredProcess]: Starting monitored process 15 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:46:25,224 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-27 13:46:25,290 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:46:25,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:46:25,292 INFO L263 TraceCheckSpWp]: Trace formula consists of 310 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:46:25,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:25,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:46:25,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {27457#true} call ULTIMATE.init(); {27457#true} is VALID [2022-04-27 13:46:25,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {27457#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);~counter~0 := 0; {27457#true} is VALID [2022-04-27 13:46:25,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27457#true} {27457#true} #92#return; {27457#true} is VALID [2022-04-27 13:46:25,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {27457#true} call #t~ret7 := main(); {27457#true} is VALID [2022-04-27 13:46:25,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {27457#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,618 INFO L290 TraceCheckUtils]: 6: Hoare triple {27477#(= main_~p~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {27477#(= main_~p~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,618 INFO L272 TraceCheckUtils]: 8: Hoare triple {27477#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,618 INFO L290 TraceCheckUtils]: 10: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,619 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {27457#true} {27477#(= main_~p~0 1)} #78#return; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,619 INFO L272 TraceCheckUtils]: 13: Hoare triple {27477#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,620 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {27457#true} {27477#(= main_~p~0 1)} #80#return; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,620 INFO L272 TraceCheckUtils]: 18: Hoare triple {27477#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,621 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {27457#true} {27477#(= main_~p~0 1)} #82#return; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {27477#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {27532#(= main_~p~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {27532#(= main_~p~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,622 INFO L272 TraceCheckUtils]: 26: Hoare triple {27532#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,622 INFO L290 TraceCheckUtils]: 28: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,623 INFO L290 TraceCheckUtils]: 29: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,623 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {27457#true} {27532#(= main_~p~0 2)} #78#return; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,623 INFO L272 TraceCheckUtils]: 31: Hoare triple {27532#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,623 INFO L290 TraceCheckUtils]: 33: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,623 INFO L290 TraceCheckUtils]: 34: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,624 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {27457#true} {27532#(= main_~p~0 2)} #80#return; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,624 INFO L272 TraceCheckUtils]: 36: Hoare triple {27532#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,624 INFO L290 TraceCheckUtils]: 37: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,624 INFO L290 TraceCheckUtils]: 38: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,625 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {27457#true} {27532#(= main_~p~0 2)} #82#return; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,625 INFO L290 TraceCheckUtils]: 41: Hoare triple {27532#(= main_~p~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,626 INFO L290 TraceCheckUtils]: 42: Hoare triple {27587#(= main_~p~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,626 INFO L290 TraceCheckUtils]: 43: Hoare triple {27587#(= main_~p~0 4)} assume !!(#t~post5 < 100);havoc #t~post5; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,626 INFO L272 TraceCheckUtils]: 44: Hoare triple {27587#(= main_~p~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,626 INFO L290 TraceCheckUtils]: 45: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,626 INFO L290 TraceCheckUtils]: 46: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,626 INFO L290 TraceCheckUtils]: 47: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,627 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {27457#true} {27587#(= main_~p~0 4)} #78#return; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,627 INFO L272 TraceCheckUtils]: 49: Hoare triple {27587#(= main_~p~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,627 INFO L290 TraceCheckUtils]: 52: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,628 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {27457#true} {27587#(= main_~p~0 4)} #80#return; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,628 INFO L272 TraceCheckUtils]: 54: Hoare triple {27587#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,628 INFO L290 TraceCheckUtils]: 55: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,628 INFO L290 TraceCheckUtils]: 56: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,628 INFO L290 TraceCheckUtils]: 57: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,628 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {27457#true} {27587#(= main_~p~0 4)} #82#return; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,629 INFO L290 TraceCheckUtils]: 59: Hoare triple {27587#(= main_~p~0 4)} assume !(~r~0 >= ~d~0); {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,629 INFO L290 TraceCheckUtils]: 60: Hoare triple {27587#(= main_~p~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,629 INFO L290 TraceCheckUtils]: 61: Hoare triple {27587#(= main_~p~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,629 INFO L272 TraceCheckUtils]: 62: Hoare triple {27587#(= main_~p~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,629 INFO L290 TraceCheckUtils]: 63: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,630 INFO L290 TraceCheckUtils]: 64: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,630 INFO L290 TraceCheckUtils]: 65: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,630 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27457#true} {27587#(= main_~p~0 4)} #84#return; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,630 INFO L272 TraceCheckUtils]: 67: Hoare triple {27587#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,630 INFO L290 TraceCheckUtils]: 68: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,630 INFO L290 TraceCheckUtils]: 69: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,631 INFO L290 TraceCheckUtils]: 70: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,631 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27457#true} {27587#(= main_~p~0 4)} #86#return; {27587#(= main_~p~0 4)} is VALID [2022-04-27 13:46:25,632 INFO L290 TraceCheckUtils]: 72: Hoare triple {27587#(= 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); {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,632 INFO L290 TraceCheckUtils]: 73: Hoare triple {27532#(= main_~p~0 2)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,633 INFO L290 TraceCheckUtils]: 74: Hoare triple {27532#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,633 INFO L290 TraceCheckUtils]: 75: Hoare triple {27532#(= main_~p~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,633 INFO L272 TraceCheckUtils]: 76: Hoare triple {27532#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,633 INFO L290 TraceCheckUtils]: 77: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,633 INFO L290 TraceCheckUtils]: 78: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,633 INFO L290 TraceCheckUtils]: 79: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,634 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27457#true} {27532#(= main_~p~0 2)} #84#return; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,634 INFO L272 TraceCheckUtils]: 81: Hoare triple {27532#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,634 INFO L290 TraceCheckUtils]: 82: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,634 INFO L290 TraceCheckUtils]: 83: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,634 INFO L290 TraceCheckUtils]: 84: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,635 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27457#true} {27532#(= main_~p~0 2)} #86#return; {27532#(= main_~p~0 2)} is VALID [2022-04-27 13:46:25,635 INFO L290 TraceCheckUtils]: 86: Hoare triple {27532#(= 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); {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,635 INFO L290 TraceCheckUtils]: 87: Hoare triple {27477#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,636 INFO L290 TraceCheckUtils]: 88: Hoare triple {27477#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,636 INFO L290 TraceCheckUtils]: 89: Hoare triple {27477#(= main_~p~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,636 INFO L272 TraceCheckUtils]: 90: Hoare triple {27477#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,636 INFO L290 TraceCheckUtils]: 91: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,636 INFO L290 TraceCheckUtils]: 92: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,636 INFO L290 TraceCheckUtils]: 93: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,637 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27457#true} {27477#(= main_~p~0 1)} #84#return; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,637 INFO L272 TraceCheckUtils]: 95: Hoare triple {27477#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,637 INFO L290 TraceCheckUtils]: 96: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,637 INFO L290 TraceCheckUtils]: 97: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,637 INFO L290 TraceCheckUtils]: 98: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,637 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27457#true} {27477#(= main_~p~0 1)} #86#return; {27477#(= main_~p~0 1)} is VALID [2022-04-27 13:46:25,638 INFO L290 TraceCheckUtils]: 100: Hoare triple {27477#(= 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); {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,638 INFO L290 TraceCheckUtils]: 101: Hoare triple {27765#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,638 INFO L290 TraceCheckUtils]: 102: Hoare triple {27765#(<= main_~p~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,639 INFO L290 TraceCheckUtils]: 103: Hoare triple {27765#(<= main_~p~0 0)} assume !!(#t~post6 < 100);havoc #t~post6; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,639 INFO L272 TraceCheckUtils]: 104: Hoare triple {27765#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,639 INFO L290 TraceCheckUtils]: 105: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,639 INFO L290 TraceCheckUtils]: 106: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,639 INFO L290 TraceCheckUtils]: 107: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,639 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {27457#true} {27765#(<= main_~p~0 0)} #84#return; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,640 INFO L272 TraceCheckUtils]: 109: Hoare triple {27765#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:25,640 INFO L290 TraceCheckUtils]: 110: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:25,640 INFO L290 TraceCheckUtils]: 111: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:25,640 INFO L290 TraceCheckUtils]: 112: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:25,640 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {27457#true} {27765#(<= main_~p~0 0)} #86#return; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 114: Hoare triple {27765#(<= main_~p~0 0)} assume !(1 != ~p~0); {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L272 TraceCheckUtils]: 115: Hoare triple {27458#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 116: Hoare triple {27458#false} ~cond := #in~cond; {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 117: Hoare triple {27458#false} assume !(0 == ~cond); {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 118: Hoare triple {27458#false} assume true; {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {27458#false} {27458#false} #88#return; {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L272 TraceCheckUtils]: 120: Hoare triple {27458#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 121: Hoare triple {27458#false} ~cond := #in~cond; {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 122: Hoare triple {27458#false} assume 0 == ~cond; {27458#false} is VALID [2022-04-27 13:46:25,641 INFO L290 TraceCheckUtils]: 123: Hoare triple {27458#false} assume !false; {27458#false} is VALID [2022-04-27 13:46:25,642 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 102 proven. 51 refuted. 0 times theorem prover too weak. 546 trivial. 0 not checked. [2022-04-27 13:46:25,642 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:46:26,693 INFO L290 TraceCheckUtils]: 123: Hoare triple {27458#false} assume !false; {27458#false} is VALID [2022-04-27 13:46:26,693 INFO L290 TraceCheckUtils]: 122: Hoare triple {27458#false} assume 0 == ~cond; {27458#false} is VALID [2022-04-27 13:46:26,693 INFO L290 TraceCheckUtils]: 121: Hoare triple {27458#false} ~cond := #in~cond; {27458#false} is VALID [2022-04-27 13:46:26,693 INFO L272 TraceCheckUtils]: 120: Hoare triple {27458#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {27458#false} is VALID [2022-04-27 13:46:26,693 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {27457#true} {27458#false} #88#return; {27458#false} is VALID [2022-04-27 13:46:26,693 INFO L290 TraceCheckUtils]: 118: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,694 INFO L290 TraceCheckUtils]: 117: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,694 INFO L290 TraceCheckUtils]: 116: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,694 INFO L272 TraceCheckUtils]: 115: Hoare triple {27458#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,694 INFO L290 TraceCheckUtils]: 114: Hoare triple {27765#(<= main_~p~0 0)} assume !(1 != ~p~0); {27458#false} is VALID [2022-04-27 13:46:26,695 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {27457#true} {27765#(<= main_~p~0 0)} #86#return; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,695 INFO L290 TraceCheckUtils]: 112: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,695 INFO L290 TraceCheckUtils]: 111: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,695 INFO L290 TraceCheckUtils]: 110: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,695 INFO L272 TraceCheckUtils]: 109: Hoare triple {27765#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,696 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {27457#true} {27765#(<= main_~p~0 0)} #84#return; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,696 INFO L290 TraceCheckUtils]: 107: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,696 INFO L290 TraceCheckUtils]: 106: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,696 INFO L290 TraceCheckUtils]: 105: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,696 INFO L272 TraceCheckUtils]: 104: Hoare triple {27765#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,696 INFO L290 TraceCheckUtils]: 103: Hoare triple {27765#(<= main_~p~0 0)} assume !!(#t~post6 < 100);havoc #t~post6; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,697 INFO L290 TraceCheckUtils]: 102: Hoare triple {27765#(<= main_~p~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,697 INFO L290 TraceCheckUtils]: 101: Hoare triple {27765#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,698 INFO L290 TraceCheckUtils]: 100: Hoare triple {27904#(<= (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); {27765#(<= main_~p~0 0)} is VALID [2022-04-27 13:46:26,699 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27457#true} {27904#(<= (div main_~p~0 2) 0)} #86#return; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,699 INFO L290 TraceCheckUtils]: 98: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,699 INFO L290 TraceCheckUtils]: 97: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,699 INFO L290 TraceCheckUtils]: 96: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,699 INFO L272 TraceCheckUtils]: 95: Hoare triple {27904#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,700 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27457#true} {27904#(<= (div main_~p~0 2) 0)} #84#return; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,700 INFO L290 TraceCheckUtils]: 93: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,700 INFO L290 TraceCheckUtils]: 92: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,700 INFO L290 TraceCheckUtils]: 91: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,700 INFO L272 TraceCheckUtils]: 90: Hoare triple {27904#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,701 INFO L290 TraceCheckUtils]: 89: Hoare triple {27904#(<= (div main_~p~0 2) 0)} assume !!(#t~post6 < 100);havoc #t~post6; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,701 INFO L290 TraceCheckUtils]: 88: Hoare triple {27904#(<= (div main_~p~0 2) 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,701 INFO L290 TraceCheckUtils]: 87: Hoare triple {27904#(<= (div main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,703 INFO L290 TraceCheckUtils]: 86: Hoare triple {27947#(<= (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); {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,703 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27457#true} {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #86#return; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,704 INFO L290 TraceCheckUtils]: 84: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,704 INFO L290 TraceCheckUtils]: 83: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,704 INFO L290 TraceCheckUtils]: 82: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,704 INFO L272 TraceCheckUtils]: 81: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,705 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27457#true} {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #84#return; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,705 INFO L290 TraceCheckUtils]: 79: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,705 INFO L290 TraceCheckUtils]: 77: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,705 INFO L272 TraceCheckUtils]: 76: Hoare triple {27947#(<= (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)); {27457#true} is VALID [2022-04-27 13:46:26,705 INFO L290 TraceCheckUtils]: 75: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(#t~post6 < 100);havoc #t~post6; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,706 INFO L290 TraceCheckUtils]: 74: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,706 INFO L290 TraceCheckUtils]: 73: Hoare triple {27947#(<= (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; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,708 INFO L290 TraceCheckUtils]: 72: Hoare triple {27990#(<= (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); {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,708 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27457#true} {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #86#return; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,708 INFO L290 TraceCheckUtils]: 69: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,709 INFO L290 TraceCheckUtils]: 68: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,709 INFO L272 TraceCheckUtils]: 67: Hoare triple {27990#(<= (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)); {27457#true} is VALID [2022-04-27 13:46:26,709 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27457#true} {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #84#return; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,709 INFO L290 TraceCheckUtils]: 65: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,710 INFO L290 TraceCheckUtils]: 64: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,710 INFO L290 TraceCheckUtils]: 63: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,710 INFO L272 TraceCheckUtils]: 62: Hoare triple {27990#(<= (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)); {27457#true} is VALID [2022-04-27 13:46:26,710 INFO L290 TraceCheckUtils]: 61: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !!(#t~post6 < 100);havoc #t~post6; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,711 INFO L290 TraceCheckUtils]: 59: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !(~r~0 >= ~d~0); {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,712 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {27457#true} {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #82#return; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,712 INFO L290 TraceCheckUtils]: 57: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,712 INFO L290 TraceCheckUtils]: 56: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,712 INFO L290 TraceCheckUtils]: 55: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,712 INFO L272 TraceCheckUtils]: 54: Hoare triple {27990#(<= (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)); {27457#true} is VALID [2022-04-27 13:46:26,713 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {27457#true} {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #80#return; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,713 INFO L290 TraceCheckUtils]: 52: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,713 INFO L290 TraceCheckUtils]: 51: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,713 INFO L290 TraceCheckUtils]: 50: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,713 INFO L272 TraceCheckUtils]: 49: Hoare triple {27990#(<= (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)); {27457#true} is VALID [2022-04-27 13:46:26,713 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {27457#true} {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #78#return; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,713 INFO L290 TraceCheckUtils]: 47: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,714 INFO L290 TraceCheckUtils]: 46: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,714 INFO L290 TraceCheckUtils]: 45: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,714 INFO L272 TraceCheckUtils]: 44: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,714 INFO L290 TraceCheckUtils]: 43: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !!(#t~post5 < 100);havoc #t~post5; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,714 INFO L290 TraceCheckUtils]: 42: Hoare triple {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,716 INFO L290 TraceCheckUtils]: 41: Hoare triple {27947#(<= (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; {27990#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:46:26,716 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {27457#true} {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #82#return; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,717 INFO L290 TraceCheckUtils]: 39: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,717 INFO L290 TraceCheckUtils]: 38: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,717 INFO L290 TraceCheckUtils]: 37: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,717 INFO L272 TraceCheckUtils]: 36: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,717 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {27457#true} {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #80#return; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,717 INFO L290 TraceCheckUtils]: 34: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,717 INFO L290 TraceCheckUtils]: 33: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L290 TraceCheckUtils]: 32: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L272 TraceCheckUtils]: 31: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {27457#true} {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #78#return; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L290 TraceCheckUtils]: 28: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,718 INFO L272 TraceCheckUtils]: 26: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(#t~post5 < 100);havoc #t~post5; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {27904#(<= (div main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27947#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:46:26,721 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {27457#true} {27904#(<= (div main_~p~0 2) 0)} #82#return; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,721 INFO L290 TraceCheckUtils]: 21: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,721 INFO L290 TraceCheckUtils]: 19: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,721 INFO L272 TraceCheckUtils]: 18: Hoare triple {27904#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,722 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {27457#true} {27904#(<= (div main_~p~0 2) 0)} #80#return; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,722 INFO L272 TraceCheckUtils]: 13: Hoare triple {27904#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,722 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {27457#true} {27904#(<= (div main_~p~0 2) 0)} #78#return; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {27457#true} assume !(0 == ~cond); {27457#true} is VALID [2022-04-27 13:46:26,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {27457#true} ~cond := #in~cond; {27457#true} is VALID [2022-04-27 13:46:26,723 INFO L272 TraceCheckUtils]: 8: Hoare triple {27904#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27457#true} is VALID [2022-04-27 13:46:26,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {27904#(<= (div main_~p~0 2) 0)} assume !!(#t~post5 < 100);havoc #t~post5; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,723 INFO L290 TraceCheckUtils]: 6: Hoare triple {27904#(<= (div main_~p~0 2) 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {27457#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {27904#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:46:26,724 INFO L272 TraceCheckUtils]: 4: Hoare triple {27457#true} call #t~ret7 := main(); {27457#true} is VALID [2022-04-27 13:46:26,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27457#true} {27457#true} #92#return; {27457#true} is VALID [2022-04-27 13:46:26,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {27457#true} assume true; {27457#true} is VALID [2022-04-27 13:46:26,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {27457#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);~counter~0 := 0; {27457#true} is VALID [2022-04-27 13:46:26,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {27457#true} call ULTIMATE.init(); {27457#true} is VALID [2022-04-27 13:46:26,725 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 69 proven. 18 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-27 13:46:26,725 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:46:26,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308643881] [2022-04-27 13:46:26,725 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:46:26,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1552691996] [2022-04-27 13:46:26,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1552691996] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:46:26,725 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:46:26,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 13:46:26,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2021327043] [2022-04-27 13:46:26,726 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:46:26,726 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) Word has length 124 [2022-04-27 13:46:26,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:46:26,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 13:46:26,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:26,861 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:46:26,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:46:26,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:46:26,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:46:26,862 INFO L87 Difference]: Start difference. First operand 1097 states and 1455 transitions. Second operand has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 13:46:28,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:28,027 INFO L93 Difference]: Finished difference Result 1320 states and 1738 transitions. [2022-04-27 13:46:28,027 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:46:28,027 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) Word has length 124 [2022-04-27 13:46:28,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:46:28,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 13:46:28,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 110 transitions. [2022-04-27 13:46:28,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 13:46:28,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 110 transitions. [2022-04-27 13:46:28,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 110 transitions. [2022-04-27 13:46:28,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:46:28,174 INFO L225 Difference]: With dead ends: 1320 [2022-04-27 13:46:28,175 INFO L226 Difference]: Without dead ends: 907 [2022-04-27 13:46:28,176 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 237 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:46:28,177 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 4 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:46:28,177 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 193 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:46:28,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 907 states. [2022-04-27 13:46:28,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 907 to 905. [2022-04-27 13:46:28,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:46:28,811 INFO L82 GeneralOperation]: Start isEquivalent. First operand 907 states. Second operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) [2022-04-27 13:46:28,812 INFO L74 IsIncluded]: Start isIncluded. First operand 907 states. Second operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) [2022-04-27 13:46:28,814 INFO L87 Difference]: Start difference. First operand 907 states. Second operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) [2022-04-27 13:46:28,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:28,852 INFO L93 Difference]: Finished difference Result 907 states and 1156 transitions. [2022-04-27 13:46:28,852 INFO L276 IsEmpty]: Start isEmpty. Operand 907 states and 1156 transitions. [2022-04-27 13:46:28,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:28,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:28,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) Second operand 907 states. [2022-04-27 13:46:28,858 INFO L87 Difference]: Start difference. First operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) Second operand 907 states. [2022-04-27 13:46:28,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:46:28,897 INFO L93 Difference]: Finished difference Result 907 states and 1156 transitions. [2022-04-27 13:46:28,897 INFO L276 IsEmpty]: Start isEmpty. Operand 907 states and 1156 transitions. [2022-04-27 13:46:28,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:46:28,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:46:28,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:46:28,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:46:28,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 905 states, 598 states have (on average 1.2040133779264215) internal successors, (720), 627 states have internal predecessors, (720), 221 states have call successors, (221), 87 states have call predecessors, (221), 85 states have return successors, (212), 190 states have call predecessors, (212), 212 states have call successors, (212) [2022-04-27 13:46:28,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 905 states to 905 states and 1153 transitions. [2022-04-27 13:46:28,956 INFO L78 Accepts]: Start accepts. Automaton has 905 states and 1153 transitions. Word has length 124 [2022-04-27 13:46:28,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:46:28,956 INFO L495 AbstractCegarLoop]: Abstraction has 905 states and 1153 transitions. [2022-04-27 13:46:28,956 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 6.222222222222222) internal successors, (56), 9 states have internal predecessors, (56), 9 states have call successors, (37), 2 states have call predecessors, (37), 2 states have return successors, (35), 9 states have call predecessors, (35), 9 states have call successors, (35) [2022-04-27 13:46:28,956 INFO L276 IsEmpty]: Start isEmpty. Operand 905 states and 1153 transitions. [2022-04-27 13:46:28,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 127 [2022-04-27 13:46:28,958 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:46:28,958 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:46:28,985 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-27 13:46:29,182 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:29,182 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:46:29,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:46:29,183 INFO L85 PathProgramCache]: Analyzing trace with hash 1372095454, now seen corresponding path program 3 times [2022-04-27 13:46:29,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:46:29,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [902980336] [2022-04-27 13:46:29,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:46:29,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:46:29,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:46:29,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1741072846] [2022-04-27 13:46:29,200 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:46:29,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:46:29,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:46:29,201 INFO L229 MonitoredProcess]: Starting monitored process 16 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:46:29,202 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-27 13:46:29,285 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:46:29,285 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:46:29,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 13:46:29,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:46:29,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:46:32,949 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:46:39,234 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:46:46,201 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:46:46,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {33034#true} call ULTIMATE.init(); {33034#true} is VALID [2022-04-27 13:46:46,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {33034#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);~counter~0 := 0; {33034#true} is VALID [2022-04-27 13:46:46,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,555 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33034#true} {33034#true} #92#return; {33034#true} is VALID [2022-04-27 13:46:46,555 INFO L272 TraceCheckUtils]: 4: Hoare triple {33034#true} call #t~ret7 := main(); {33034#true} is VALID [2022-04-27 13:46:46,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {33034#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {33054#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,557 INFO L272 TraceCheckUtils]: 8: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,557 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #78#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,557 INFO L272 TraceCheckUtils]: 13: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #80#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,558 INFO L272 TraceCheckUtils]: 18: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L290 TraceCheckUtils]: 19: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L290 TraceCheckUtils]: 20: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,559 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #82#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,559 INFO L290 TraceCheckUtils]: 23: Hoare triple {33054#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {33054#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,560 INFO L272 TraceCheckUtils]: 26: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,560 INFO L290 TraceCheckUtils]: 27: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,560 INFO L290 TraceCheckUtils]: 28: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,560 INFO L290 TraceCheckUtils]: 29: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,561 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #78#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,561 INFO L272 TraceCheckUtils]: 31: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,561 INFO L290 TraceCheckUtils]: 32: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,561 INFO L290 TraceCheckUtils]: 33: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,561 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #80#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,562 INFO L272 TraceCheckUtils]: 36: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,562 INFO L290 TraceCheckUtils]: 39: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,562 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #82#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,563 INFO L290 TraceCheckUtils]: 41: Hoare triple {33054#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {33054#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,563 INFO L290 TraceCheckUtils]: 43: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,563 INFO L272 TraceCheckUtils]: 44: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,563 INFO L290 TraceCheckUtils]: 45: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,563 INFO L290 TraceCheckUtils]: 46: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,564 INFO L290 TraceCheckUtils]: 47: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,564 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #78#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,564 INFO L272 TraceCheckUtils]: 49: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,564 INFO L290 TraceCheckUtils]: 50: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,564 INFO L290 TraceCheckUtils]: 51: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,564 INFO L290 TraceCheckUtils]: 52: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,565 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #80#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,565 INFO L272 TraceCheckUtils]: 54: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,565 INFO L290 TraceCheckUtils]: 55: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,565 INFO L290 TraceCheckUtils]: 56: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,565 INFO L290 TraceCheckUtils]: 57: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,566 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #82#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,566 INFO L290 TraceCheckUtils]: 59: Hoare triple {33054#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,566 INFO L290 TraceCheckUtils]: 60: Hoare triple {33054#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,567 INFO L290 TraceCheckUtils]: 61: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,567 INFO L272 TraceCheckUtils]: 62: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,567 INFO L290 TraceCheckUtils]: 63: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,567 INFO L290 TraceCheckUtils]: 64: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,567 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #78#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,567 INFO L272 TraceCheckUtils]: 67: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 68: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 69: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 70: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #80#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,568 INFO L272 TraceCheckUtils]: 72: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 73: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 74: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,568 INFO L290 TraceCheckUtils]: 75: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,569 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #82#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,569 INFO L290 TraceCheckUtils]: 77: Hoare triple {33054#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,570 INFO L290 TraceCheckUtils]: 78: Hoare triple {33054#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,570 INFO L290 TraceCheckUtils]: 79: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,570 INFO L272 TraceCheckUtils]: 80: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,570 INFO L290 TraceCheckUtils]: 81: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,570 INFO L290 TraceCheckUtils]: 82: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,570 INFO L290 TraceCheckUtils]: 83: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,571 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #84#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,571 INFO L272 TraceCheckUtils]: 85: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,571 INFO L290 TraceCheckUtils]: 86: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,571 INFO L290 TraceCheckUtils]: 87: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,571 INFO L290 TraceCheckUtils]: 88: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,572 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #86#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,572 INFO L290 TraceCheckUtils]: 90: Hoare triple {33054#(= 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); {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,572 INFO L290 TraceCheckUtils]: 91: Hoare triple {33054#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,573 INFO L290 TraceCheckUtils]: 92: Hoare triple {33054#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,573 INFO L290 TraceCheckUtils]: 93: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,573 INFO L272 TraceCheckUtils]: 94: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,573 INFO L290 TraceCheckUtils]: 95: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,573 INFO L290 TraceCheckUtils]: 96: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,573 INFO L290 TraceCheckUtils]: 97: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,574 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #84#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,574 INFO L272 TraceCheckUtils]: 99: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,574 INFO L290 TraceCheckUtils]: 100: Hoare triple {33034#true} ~cond := #in~cond; {33034#true} is VALID [2022-04-27 13:46:46,574 INFO L290 TraceCheckUtils]: 101: Hoare triple {33034#true} assume !(0 == ~cond); {33034#true} is VALID [2022-04-27 13:46:46,574 INFO L290 TraceCheckUtils]: 102: Hoare triple {33034#true} assume true; {33034#true} is VALID [2022-04-27 13:46:46,575 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {33034#true} {33054#(= main_~B~0 1)} #86#return; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,575 INFO L290 TraceCheckUtils]: 104: Hoare triple {33054#(= 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); {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,575 INFO L290 TraceCheckUtils]: 105: Hoare triple {33054#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,576 INFO L290 TraceCheckUtils]: 106: Hoare triple {33054#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,576 INFO L290 TraceCheckUtils]: 107: Hoare triple {33054#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {33054#(= main_~B~0 1)} is VALID [2022-04-27 13:46:46,576 INFO L272 TraceCheckUtils]: 108: Hoare triple {33054#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {33034#true} is VALID [2022-04-27 13:46:46,576 INFO L290 TraceCheckUtils]: 109: Hoare triple {33034#true} ~cond := #in~cond; {33367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:46:46,577 INFO L290 TraceCheckUtils]: 110: Hoare triple {33367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:46:46,577 INFO L290 TraceCheckUtils]: 111: Hoare triple {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:46:46,578 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} {33054#(= main_~B~0 1)} #84#return; {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:46:46,578 INFO L272 TraceCheckUtils]: 113: Hoare triple {33378#(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)); {33034#true} is VALID [2022-04-27 13:46:46,578 INFO L290 TraceCheckUtils]: 114: Hoare triple {33034#true} ~cond := #in~cond; {33367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:46:46,579 INFO L290 TraceCheckUtils]: 115: Hoare triple {33367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:46:46,579 INFO L290 TraceCheckUtils]: 116: Hoare triple {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:46:46,580 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {33371#(not (= |__VERIFIER_assert_#in~cond| 0))} {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #86#return; {33394#(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:46:46,582 INFO L290 TraceCheckUtils]: 118: Hoare triple {33394#(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); {33394#(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:46:46,583 INFO L290 TraceCheckUtils]: 119: Hoare triple {33394#(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; {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:46:46,583 INFO L290 TraceCheckUtils]: 120: Hoare triple {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:46:46,584 INFO L290 TraceCheckUtils]: 121: Hoare triple {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !!(#t~post6 < 100);havoc #t~post6; {33378#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:46:46,584 INFO L272 TraceCheckUtils]: 122: Hoare triple {33378#(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)); {33410#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:46:46,585 INFO L290 TraceCheckUtils]: 123: Hoare triple {33410#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33414#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:46:46,585 INFO L290 TraceCheckUtils]: 124: Hoare triple {33414#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {33035#false} is VALID [2022-04-27 13:46:46,585 INFO L290 TraceCheckUtils]: 125: Hoare triple {33035#false} assume !false; {33035#false} is VALID [2022-04-27 13:46:46,586 INFO L134 CoverageAnalysis]: Checked inductivity of 711 backedges. 145 proven. 2 refuted. 0 times theorem prover too weak. 564 trivial. 0 not checked. [2022-04-27 13:46:46,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:47:21,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:47:21,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [902980336] [2022-04-27 13:47:21,977 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:47:21,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1741072846] [2022-04-27 13:47:21,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1741072846] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:47:21,977 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:47:21,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:47:21,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843690859] [2022-04-27 13:47:21,977 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:47:21,978 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 126 [2022-04-27 13:47:21,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:47:21,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:47:22,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:22,011 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:47:22,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:47:22,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:47:22,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:47:22,012 INFO L87 Difference]: Start difference. First operand 905 states and 1153 transitions. Second operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:47:23,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:23,000 INFO L93 Difference]: Finished difference Result 935 states and 1182 transitions. [2022-04-27 13:47:23,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:47:23,000 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 126 [2022-04-27 13:47:23,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:47:23,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:47:23,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-27 13:47:23,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:47:23,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-27 13:47:23,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 41 transitions. [2022-04-27 13:47:23,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:23,108 INFO L225 Difference]: With dead ends: 935 [2022-04-27 13:47:23,109 INFO L226 Difference]: Without dead ends: 921 [2022-04-27 13:47:23,109 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 120 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:47:23,110 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 18 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:47:23,110 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 94 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:47:23,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 921 states. [2022-04-27 13:47:23,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 921 to 695. [2022-04-27 13:47:23,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:47:23,641 INFO L82 GeneralOperation]: Start isEquivalent. First operand 921 states. Second operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-27 13:47:23,642 INFO L74 IsIncluded]: Start isIncluded. First operand 921 states. Second operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-27 13:47:23,643 INFO L87 Difference]: Start difference. First operand 921 states. Second operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-27 13:47:23,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:23,685 INFO L93 Difference]: Finished difference Result 921 states and 1162 transitions. [2022-04-27 13:47:23,685 INFO L276 IsEmpty]: Start isEmpty. Operand 921 states and 1162 transitions. [2022-04-27 13:47:23,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:23,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:23,689 INFO L74 IsIncluded]: Start isIncluded. First operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) Second operand 921 states. [2022-04-27 13:47:23,689 INFO L87 Difference]: Start difference. First operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) Second operand 921 states. [2022-04-27 13:47:23,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:23,730 INFO L93 Difference]: Finished difference Result 921 states and 1162 transitions. [2022-04-27 13:47:23,731 INFO L276 IsEmpty]: Start isEmpty. Operand 921 states and 1162 transitions. [2022-04-27 13:47:23,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:23,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:23,733 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:47:23,733 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:47:23,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 695 states, 468 states have (on average 1.1752136752136753) internal successors, (550), 470 states have internal predecessors, (550), 153 states have call successors, (153), 75 states have call predecessors, (153), 73 states have return successors, (150), 149 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-27 13:47:23,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 695 states to 695 states and 853 transitions. [2022-04-27 13:47:23,766 INFO L78 Accepts]: Start accepts. Automaton has 695 states and 853 transitions. Word has length 126 [2022-04-27 13:47:23,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:47:23,766 INFO L495 AbstractCegarLoop]: Abstraction has 695 states and 853 transitions. [2022-04-27 13:47:23,766 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:47:23,766 INFO L276 IsEmpty]: Start isEmpty. Operand 695 states and 853 transitions. [2022-04-27 13:47:23,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-27 13:47:23,768 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:47:23,768 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:47:23,792 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-27 13:47:23,981 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:23,981 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:47:23,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:47:23,982 INFO L85 PathProgramCache]: Analyzing trace with hash 388866286, now seen corresponding path program 3 times [2022-04-27 13:47:23,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:47:23,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [778800646] [2022-04-27 13:47:23,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:47:23,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:47:23,997 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:47:23,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1000144143] [2022-04-27 13:47:23,998 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:47:23,998 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:23,998 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:47:23,999 INFO L229 MonitoredProcess]: Starting monitored process 17 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:47:24,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-27 13:47:24,071 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:47:24,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:47:24,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:47:24,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:47:24,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:47:24,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {37498#true} call ULTIMATE.init(); {37498#true} is VALID [2022-04-27 13:47:24,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {37498#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);~counter~0 := 0; {37498#true} is VALID [2022-04-27 13:47:24,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37498#true} {37498#true} #92#return; {37498#true} is VALID [2022-04-27 13:47:24,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {37498#true} call #t~ret7 := main(); {37498#true} is VALID [2022-04-27 13:47:24,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {37498#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {37518#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,387 INFO L272 TraceCheckUtils]: 8: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,387 INFO L290 TraceCheckUtils]: 9: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,387 INFO L290 TraceCheckUtils]: 10: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,387 INFO L290 TraceCheckUtils]: 11: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,388 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #78#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,388 INFO L272 TraceCheckUtils]: 13: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,389 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #80#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,389 INFO L272 TraceCheckUtils]: 18: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,390 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #82#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {37518#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {37518#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,391 INFO L272 TraceCheckUtils]: 26: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,391 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #78#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,391 INFO L272 TraceCheckUtils]: 31: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,391 INFO L290 TraceCheckUtils]: 32: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L290 TraceCheckUtils]: 33: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #80#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,392 INFO L272 TraceCheckUtils]: 36: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L290 TraceCheckUtils]: 37: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L290 TraceCheckUtils]: 38: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,393 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #82#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,393 INFO L290 TraceCheckUtils]: 41: Hoare triple {37518#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,393 INFO L290 TraceCheckUtils]: 42: Hoare triple {37518#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,394 INFO L290 TraceCheckUtils]: 43: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,394 INFO L272 TraceCheckUtils]: 44: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,394 INFO L290 TraceCheckUtils]: 45: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,394 INFO L290 TraceCheckUtils]: 46: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,394 INFO L290 TraceCheckUtils]: 47: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,394 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #78#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,395 INFO L272 TraceCheckUtils]: 49: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,395 INFO L290 TraceCheckUtils]: 50: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,395 INFO L290 TraceCheckUtils]: 51: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,395 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #80#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,395 INFO L272 TraceCheckUtils]: 54: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,395 INFO L290 TraceCheckUtils]: 55: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,396 INFO L290 TraceCheckUtils]: 56: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,396 INFO L290 TraceCheckUtils]: 57: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,396 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #82#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,396 INFO L290 TraceCheckUtils]: 59: Hoare triple {37518#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,397 INFO L290 TraceCheckUtils]: 60: Hoare triple {37518#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,397 INFO L290 TraceCheckUtils]: 61: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,397 INFO L272 TraceCheckUtils]: 62: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,398 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #78#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,398 INFO L272 TraceCheckUtils]: 67: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,398 INFO L290 TraceCheckUtils]: 68: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,398 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #80#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,399 INFO L272 TraceCheckUtils]: 72: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,399 INFO L290 TraceCheckUtils]: 73: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,399 INFO L290 TraceCheckUtils]: 74: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,399 INFO L290 TraceCheckUtils]: 75: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,399 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #82#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,399 INFO L290 TraceCheckUtils]: 77: Hoare triple {37518#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,400 INFO L290 TraceCheckUtils]: 78: Hoare triple {37518#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,400 INFO L272 TraceCheckUtils]: 80: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,400 INFO L290 TraceCheckUtils]: 81: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,400 INFO L290 TraceCheckUtils]: 82: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,400 INFO L290 TraceCheckUtils]: 83: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,401 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #84#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,401 INFO L272 TraceCheckUtils]: 85: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,401 INFO L290 TraceCheckUtils]: 86: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,401 INFO L290 TraceCheckUtils]: 87: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,401 INFO L290 TraceCheckUtils]: 88: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,402 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #86#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,402 INFO L290 TraceCheckUtils]: 90: Hoare triple {37518#(= 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); {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,402 INFO L290 TraceCheckUtils]: 91: Hoare triple {37518#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,402 INFO L290 TraceCheckUtils]: 92: Hoare triple {37518#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,403 INFO L290 TraceCheckUtils]: 93: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,403 INFO L272 TraceCheckUtils]: 94: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,403 INFO L290 TraceCheckUtils]: 95: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,403 INFO L290 TraceCheckUtils]: 96: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,403 INFO L290 TraceCheckUtils]: 97: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,404 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #84#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,404 INFO L272 TraceCheckUtils]: 99: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,404 INFO L290 TraceCheckUtils]: 100: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,404 INFO L290 TraceCheckUtils]: 101: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,404 INFO L290 TraceCheckUtils]: 102: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,404 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #86#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,405 INFO L290 TraceCheckUtils]: 104: Hoare triple {37518#(= 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); {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,405 INFO L290 TraceCheckUtils]: 105: Hoare triple {37518#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,405 INFO L290 TraceCheckUtils]: 106: Hoare triple {37518#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,406 INFO L290 TraceCheckUtils]: 107: Hoare triple {37518#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,406 INFO L272 TraceCheckUtils]: 108: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,406 INFO L290 TraceCheckUtils]: 109: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,406 INFO L290 TraceCheckUtils]: 110: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,406 INFO L290 TraceCheckUtils]: 111: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,406 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {37498#true} {37518#(= main_~B~0 1)} #84#return; {37518#(= main_~B~0 1)} is VALID [2022-04-27 13:47:24,406 INFO L272 TraceCheckUtils]: 113: Hoare triple {37518#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:24,407 INFO L290 TraceCheckUtils]: 114: Hoare triple {37498#true} ~cond := #in~cond; {37846#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:47:24,407 INFO L290 TraceCheckUtils]: 115: Hoare triple {37846#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:47:24,407 INFO L290 TraceCheckUtils]: 116: Hoare triple {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:47:24,408 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} {37518#(= main_~B~0 1)} #86#return; {37857#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-27 13:47:24,408 INFO L290 TraceCheckUtils]: 118: Hoare triple {37857#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !(1 != ~p~0); {37861#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:47:24,409 INFO L272 TraceCheckUtils]: 119: Hoare triple {37861#(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)); {37498#true} is VALID [2022-04-27 13:47:24,409 INFO L290 TraceCheckUtils]: 120: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:24,409 INFO L290 TraceCheckUtils]: 121: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:24,409 INFO L290 TraceCheckUtils]: 122: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:24,409 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {37498#true} {37861#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #88#return; {37861#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:47:24,410 INFO L272 TraceCheckUtils]: 124: Hoare triple {37861#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {37880#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:47:24,410 INFO L290 TraceCheckUtils]: 125: Hoare triple {37880#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37884#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:47:24,410 INFO L290 TraceCheckUtils]: 126: Hoare triple {37884#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37499#false} is VALID [2022-04-27 13:47:24,411 INFO L290 TraceCheckUtils]: 127: Hoare triple {37499#false} assume !false; {37499#false} is VALID [2022-04-27 13:47:24,411 INFO L134 CoverageAnalysis]: Checked inductivity of 774 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 680 trivial. 0 not checked. [2022-04-27 13:47:24,411 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:47:28,841 INFO L290 TraceCheckUtils]: 127: Hoare triple {37499#false} assume !false; {37499#false} is VALID [2022-04-27 13:47:28,842 INFO L290 TraceCheckUtils]: 126: Hoare triple {37884#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37499#false} is VALID [2022-04-27 13:47:28,842 INFO L290 TraceCheckUtils]: 125: Hoare triple {37880#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37884#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:47:28,843 INFO L272 TraceCheckUtils]: 124: Hoare triple {37900#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {37880#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:47:28,843 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {37498#true} {37900#(= main_~B~0 main_~d~0)} #88#return; {37900#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:47:28,843 INFO L290 TraceCheckUtils]: 122: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,843 INFO L290 TraceCheckUtils]: 121: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,843 INFO L290 TraceCheckUtils]: 120: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,843 INFO L272 TraceCheckUtils]: 119: Hoare triple {37900#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,844 INFO L290 TraceCheckUtils]: 118: Hoare triple {37919#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {37900#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:47:28,845 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} {37498#true} #86#return; {37919#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:47:28,845 INFO L290 TraceCheckUtils]: 116: Hoare triple {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:47:28,845 INFO L290 TraceCheckUtils]: 115: Hoare triple {37932#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 114: Hoare triple {37498#true} ~cond := #in~cond; {37932#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:47:28,846 INFO L272 TraceCheckUtils]: 113: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {37498#true} {37498#true} #84#return; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 111: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 110: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 109: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L272 TraceCheckUtils]: 108: Hoare triple {37498#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 107: Hoare triple {37498#true} assume !!(#t~post6 < 100);havoc #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 106: Hoare triple {37498#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 105: Hoare triple {37498#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 104: Hoare triple {37498#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); {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {37498#true} {37498#true} #86#return; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 102: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 101: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L290 TraceCheckUtils]: 100: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,846 INFO L272 TraceCheckUtils]: 99: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {37498#true} {37498#true} #84#return; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 97: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 96: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 95: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L272 TraceCheckUtils]: 94: Hoare triple {37498#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 93: Hoare triple {37498#true} assume !!(#t~post6 < 100);havoc #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 92: Hoare triple {37498#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 91: Hoare triple {37498#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 90: Hoare triple {37498#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); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {37498#true} {37498#true} #86#return; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 88: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 87: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 86: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L272 TraceCheckUtils]: 85: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {37498#true} {37498#true} #84#return; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 83: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,847 INFO L290 TraceCheckUtils]: 82: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 81: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L272 TraceCheckUtils]: 80: Hoare triple {37498#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 79: Hoare triple {37498#true} assume !!(#t~post6 < 100);havoc #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 78: Hoare triple {37498#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 77: Hoare triple {37498#true} assume !(~r~0 >= ~d~0); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {37498#true} {37498#true} #82#return; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 75: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 74: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 73: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L272 TraceCheckUtils]: 72: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37498#true} {37498#true} #80#return; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 70: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 69: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,848 INFO L290 TraceCheckUtils]: 68: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L272 TraceCheckUtils]: 67: Hoare triple {37498#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37498#true} {37498#true} #78#return; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 65: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 64: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 63: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L272 TraceCheckUtils]: 62: Hoare triple {37498#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 61: Hoare triple {37498#true} assume !!(#t~post5 < 100);havoc #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 60: Hoare triple {37498#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 59: Hoare triple {37498#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {37498#true} {37498#true} #82#return; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 57: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 56: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 55: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L272 TraceCheckUtils]: 54: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {37498#true} {37498#true} #80#return; {37498#true} is VALID [2022-04-27 13:47:28,849 INFO L290 TraceCheckUtils]: 52: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 51: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 50: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L272 TraceCheckUtils]: 49: Hoare triple {37498#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {37498#true} {37498#true} #78#return; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 47: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 46: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 45: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L272 TraceCheckUtils]: 44: Hoare triple {37498#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {37498#true} assume !!(#t~post5 < 100);havoc #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 42: Hoare triple {37498#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {37498#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {37498#true} {37498#true} #82#return; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 39: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L272 TraceCheckUtils]: 36: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {37498#true} {37498#true} #80#return; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 32: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L272 TraceCheckUtils]: 31: Hoare triple {37498#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {37498#true} {37498#true} #78#return; {37498#true} is VALID [2022-04-27 13:47:28,851 INFO L290 TraceCheckUtils]: 29: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 28: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L272 TraceCheckUtils]: 26: Hoare triple {37498#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {37498#true} assume !!(#t~post5 < 100);havoc #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {37498#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {37498#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {37498#true} {37498#true} #82#return; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 21: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L272 TraceCheckUtils]: 18: Hoare triple {37498#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37498#true} {37498#true} #80#return; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L272 TraceCheckUtils]: 13: Hoare triple {37498#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37498#true} {37498#true} #78#return; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 11: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 10: Hoare triple {37498#true} assume !(0 == ~cond); {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {37498#true} ~cond := #in~cond; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L272 TraceCheckUtils]: 8: Hoare triple {37498#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {37498#true} assume !!(#t~post5 < 100);havoc #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {37498#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {37498#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {37498#true} call #t~ret7 := main(); {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37498#true} {37498#true} #92#return; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {37498#true} assume true; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {37498#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);~counter~0 := 0; {37498#true} is VALID [2022-04-27 13:47:28,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {37498#true} call ULTIMATE.init(); {37498#true} is VALID [2022-04-27 13:47:28,854 INFO L134 CoverageAnalysis]: Checked inductivity of 774 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 680 trivial. 0 not checked. [2022-04-27 13:47:28,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:47:28,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [778800646] [2022-04-27 13:47:28,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:47:28,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1000144143] [2022-04-27 13:47:28,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1000144143] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:47:28,854 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:47:28,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 13:47:28,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1464956737] [2022-04-27 13:47:28,855 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:47:28,855 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) Word has length 128 [2022-04-27 13:47:28,856 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:47:28,856 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 13:47:28,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:28,907 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:47:28,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:47:28,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:47:28,908 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:47:28,908 INFO L87 Difference]: Start difference. First operand 695 states and 853 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 13:47:29,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:29,858 INFO L93 Difference]: Finished difference Result 771 states and 912 transitions. [2022-04-27 13:47:29,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:47:29,858 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) Word has length 128 [2022-04-27 13:47:29,859 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:47:29,859 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 13:47:29,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-27 13:47:29,860 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 13:47:29,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-27 13:47:29,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 53 transitions. [2022-04-27 13:47:29,908 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:47:29,936 INFO L225 Difference]: With dead ends: 771 [2022-04-27 13:47:29,936 INFO L226 Difference]: Without dead ends: 755 [2022-04-27 13:47:29,937 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 245 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:47:29,937 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 25 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:47:29,937 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 128 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:47:29,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 755 states. [2022-04-27 13:47:30,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 755 to 539. [2022-04-27 13:47:30,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:47:30,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 755 states. Second operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 13:47:30,405 INFO L74 IsIncluded]: Start isIncluded. First operand 755 states. Second operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 13:47:30,405 INFO L87 Difference]: Start difference. First operand 755 states. Second operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 13:47:30,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:30,431 INFO L93 Difference]: Finished difference Result 755 states and 872 transitions. [2022-04-27 13:47:30,431 INFO L276 IsEmpty]: Start isEmpty. Operand 755 states and 872 transitions. [2022-04-27 13:47:30,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:30,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:30,434 INFO L74 IsIncluded]: Start isIncluded. First operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) Second operand 755 states. [2022-04-27 13:47:30,434 INFO L87 Difference]: Start difference. First operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) Second operand 755 states. [2022-04-27 13:47:30,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:30,460 INFO L93 Difference]: Finished difference Result 755 states and 872 transitions. [2022-04-27 13:47:30,460 INFO L276 IsEmpty]: Start isEmpty. Operand 755 states and 872 transitions. [2022-04-27 13:47:30,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:30,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:30,462 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:47:30,462 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:47:30,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 539 states, 362 states have (on average 1.1049723756906078) internal successors, (400), 373 states have internal predecessors, (400), 103 states have call successors, (103), 74 states have call predecessors, (103), 73 states have return successors, (101), 91 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 13:47:30,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 539 states to 539 states and 604 transitions. [2022-04-27 13:47:30,480 INFO L78 Accepts]: Start accepts. Automaton has 539 states and 604 transitions. Word has length 128 [2022-04-27 13:47:30,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:47:30,481 INFO L495 AbstractCegarLoop]: Abstraction has 539 states and 604 transitions. [2022-04-27 13:47:30,481 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 6 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-27 13:47:30,481 INFO L276 IsEmpty]: Start isEmpty. Operand 539 states and 604 transitions. [2022-04-27 13:47:30,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 225 [2022-04-27 13:47:30,484 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:47:30,484 INFO L195 NwaCegarLoop]: trace histogram [33, 32, 32, 11, 10, 10, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:47:30,511 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-27 13:47:30,699 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:30,699 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:47:30,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:47:30,700 INFO L85 PathProgramCache]: Analyzing trace with hash -1492475124, now seen corresponding path program 2 times [2022-04-27 13:47:30,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:47:30,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128038169] [2022-04-27 13:47:30,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:47:30,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:47:30,723 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:47:30,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [953487903] [2022-04-27 13:47:30,723 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:47:30,723 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:30,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:47:30,725 INFO L229 MonitoredProcess]: Starting monitored process 18 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:47:30,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-27 13:47:30,821 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:47:30,821 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:47:30,823 INFO L263 TraceCheckSpWp]: Trace formula consists of 549 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-27 13:47:30,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:47:30,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:47:31,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {41557#true} call ULTIMATE.init(); {41557#true} is VALID [2022-04-27 13:47:31,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {41557#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);~counter~0 := 0; {41565#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:31,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {41565#(<= ~counter~0 0)} assume true; {41565#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:31,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41565#(<= ~counter~0 0)} {41557#true} #92#return; {41565#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:31,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {41565#(<= ~counter~0 0)} call #t~ret7 := main(); {41565#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:31,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {41565#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {41565#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:31,857 INFO L290 TraceCheckUtils]: 6: Hoare triple {41565#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {41581#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,857 INFO L272 TraceCheckUtils]: 8: Hoare triple {41581#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {41581#(<= ~counter~0 1)} ~cond := #in~cond; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,858 INFO L290 TraceCheckUtils]: 10: Hoare triple {41581#(<= ~counter~0 1)} assume !(0 == ~cond); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {41581#(<= ~counter~0 1)} assume true; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,859 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {41581#(<= ~counter~0 1)} {41581#(<= ~counter~0 1)} #78#return; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,859 INFO L272 TraceCheckUtils]: 13: Hoare triple {41581#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {41581#(<= ~counter~0 1)} ~cond := #in~cond; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {41581#(<= ~counter~0 1)} assume !(0 == ~cond); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {41581#(<= ~counter~0 1)} assume true; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,862 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {41581#(<= ~counter~0 1)} {41581#(<= ~counter~0 1)} #80#return; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,863 INFO L272 TraceCheckUtils]: 18: Hoare triple {41581#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {41581#(<= ~counter~0 1)} ~cond := #in~cond; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,863 INFO L290 TraceCheckUtils]: 20: Hoare triple {41581#(<= ~counter~0 1)} assume !(0 == ~cond); {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {41581#(<= ~counter~0 1)} assume true; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,864 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {41581#(<= ~counter~0 1)} {41581#(<= ~counter~0 1)} #82#return; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {41581#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {41581#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:31,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {41581#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,865 INFO L290 TraceCheckUtils]: 25: Hoare triple {41636#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,866 INFO L272 TraceCheckUtils]: 26: Hoare triple {41636#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {41636#(<= ~counter~0 2)} ~cond := #in~cond; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,866 INFO L290 TraceCheckUtils]: 28: Hoare triple {41636#(<= ~counter~0 2)} assume !(0 == ~cond); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {41636#(<= ~counter~0 2)} assume true; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,867 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {41636#(<= ~counter~0 2)} {41636#(<= ~counter~0 2)} #78#return; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,867 INFO L272 TraceCheckUtils]: 31: Hoare triple {41636#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,867 INFO L290 TraceCheckUtils]: 32: Hoare triple {41636#(<= ~counter~0 2)} ~cond := #in~cond; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {41636#(<= ~counter~0 2)} assume !(0 == ~cond); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {41636#(<= ~counter~0 2)} assume true; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,868 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {41636#(<= ~counter~0 2)} {41636#(<= ~counter~0 2)} #80#return; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,869 INFO L272 TraceCheckUtils]: 36: Hoare triple {41636#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {41636#(<= ~counter~0 2)} ~cond := #in~cond; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {41636#(<= ~counter~0 2)} assume !(0 == ~cond); {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {41636#(<= ~counter~0 2)} assume true; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,870 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {41636#(<= ~counter~0 2)} {41636#(<= ~counter~0 2)} #82#return; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {41636#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {41636#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:31,871 INFO L290 TraceCheckUtils]: 42: Hoare triple {41636#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {41691#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,871 INFO L272 TraceCheckUtils]: 44: Hoare triple {41691#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,872 INFO L290 TraceCheckUtils]: 45: Hoare triple {41691#(<= ~counter~0 3)} ~cond := #in~cond; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,872 INFO L290 TraceCheckUtils]: 46: Hoare triple {41691#(<= ~counter~0 3)} assume !(0 == ~cond); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,872 INFO L290 TraceCheckUtils]: 47: Hoare triple {41691#(<= ~counter~0 3)} assume true; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,873 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {41691#(<= ~counter~0 3)} {41691#(<= ~counter~0 3)} #78#return; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,873 INFO L272 TraceCheckUtils]: 49: Hoare triple {41691#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,873 INFO L290 TraceCheckUtils]: 50: Hoare triple {41691#(<= ~counter~0 3)} ~cond := #in~cond; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,874 INFO L290 TraceCheckUtils]: 51: Hoare triple {41691#(<= ~counter~0 3)} assume !(0 == ~cond); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,874 INFO L290 TraceCheckUtils]: 52: Hoare triple {41691#(<= ~counter~0 3)} assume true; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,874 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {41691#(<= ~counter~0 3)} {41691#(<= ~counter~0 3)} #80#return; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,875 INFO L272 TraceCheckUtils]: 54: Hoare triple {41691#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,875 INFO L290 TraceCheckUtils]: 55: Hoare triple {41691#(<= ~counter~0 3)} ~cond := #in~cond; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,875 INFO L290 TraceCheckUtils]: 56: Hoare triple {41691#(<= ~counter~0 3)} assume !(0 == ~cond); {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,875 INFO L290 TraceCheckUtils]: 57: Hoare triple {41691#(<= ~counter~0 3)} assume true; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,876 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {41691#(<= ~counter~0 3)} {41691#(<= ~counter~0 3)} #82#return; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,876 INFO L290 TraceCheckUtils]: 59: Hoare triple {41691#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {41691#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:31,877 INFO L290 TraceCheckUtils]: 60: Hoare triple {41691#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,877 INFO L290 TraceCheckUtils]: 61: Hoare triple {41746#(<= ~counter~0 4)} assume !!(#t~post5 < 100);havoc #t~post5; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,877 INFO L272 TraceCheckUtils]: 62: Hoare triple {41746#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,878 INFO L290 TraceCheckUtils]: 63: Hoare triple {41746#(<= ~counter~0 4)} ~cond := #in~cond; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,878 INFO L290 TraceCheckUtils]: 64: Hoare triple {41746#(<= ~counter~0 4)} assume !(0 == ~cond); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,878 INFO L290 TraceCheckUtils]: 65: Hoare triple {41746#(<= ~counter~0 4)} assume true; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,878 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {41746#(<= ~counter~0 4)} {41746#(<= ~counter~0 4)} #78#return; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,879 INFO L272 TraceCheckUtils]: 67: Hoare triple {41746#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,879 INFO L290 TraceCheckUtils]: 68: Hoare triple {41746#(<= ~counter~0 4)} ~cond := #in~cond; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,879 INFO L290 TraceCheckUtils]: 69: Hoare triple {41746#(<= ~counter~0 4)} assume !(0 == ~cond); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,880 INFO L290 TraceCheckUtils]: 70: Hoare triple {41746#(<= ~counter~0 4)} assume true; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,880 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41746#(<= ~counter~0 4)} {41746#(<= ~counter~0 4)} #80#return; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,880 INFO L272 TraceCheckUtils]: 72: Hoare triple {41746#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,881 INFO L290 TraceCheckUtils]: 73: Hoare triple {41746#(<= ~counter~0 4)} ~cond := #in~cond; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,883 INFO L290 TraceCheckUtils]: 74: Hoare triple {41746#(<= ~counter~0 4)} assume !(0 == ~cond); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,883 INFO L290 TraceCheckUtils]: 75: Hoare triple {41746#(<= ~counter~0 4)} assume true; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,884 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {41746#(<= ~counter~0 4)} {41746#(<= ~counter~0 4)} #82#return; {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,884 INFO L290 TraceCheckUtils]: 77: Hoare triple {41746#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {41746#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:31,885 INFO L290 TraceCheckUtils]: 78: Hoare triple {41746#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,886 INFO L290 TraceCheckUtils]: 79: Hoare triple {41801#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,886 INFO L272 TraceCheckUtils]: 80: Hoare triple {41801#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,887 INFO L290 TraceCheckUtils]: 81: Hoare triple {41801#(<= ~counter~0 5)} ~cond := #in~cond; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,887 INFO L290 TraceCheckUtils]: 82: Hoare triple {41801#(<= ~counter~0 5)} assume !(0 == ~cond); {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,887 INFO L290 TraceCheckUtils]: 83: Hoare triple {41801#(<= ~counter~0 5)} assume true; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,888 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {41801#(<= ~counter~0 5)} {41801#(<= ~counter~0 5)} #84#return; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,888 INFO L272 TraceCheckUtils]: 85: Hoare triple {41801#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,889 INFO L290 TraceCheckUtils]: 86: Hoare triple {41801#(<= ~counter~0 5)} ~cond := #in~cond; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,889 INFO L290 TraceCheckUtils]: 87: Hoare triple {41801#(<= ~counter~0 5)} assume !(0 == ~cond); {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,889 INFO L290 TraceCheckUtils]: 88: Hoare triple {41801#(<= ~counter~0 5)} assume true; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,890 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {41801#(<= ~counter~0 5)} {41801#(<= ~counter~0 5)} #86#return; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,890 INFO L290 TraceCheckUtils]: 90: Hoare triple {41801#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,891 INFO L290 TraceCheckUtils]: 91: Hoare triple {41801#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {41801#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:31,892 INFO L290 TraceCheckUtils]: 92: Hoare triple {41801#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,892 INFO L290 TraceCheckUtils]: 93: Hoare triple {41844#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,893 INFO L272 TraceCheckUtils]: 94: Hoare triple {41844#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,893 INFO L290 TraceCheckUtils]: 95: Hoare triple {41844#(<= ~counter~0 6)} ~cond := #in~cond; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,893 INFO L290 TraceCheckUtils]: 96: Hoare triple {41844#(<= ~counter~0 6)} assume !(0 == ~cond); {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,894 INFO L290 TraceCheckUtils]: 97: Hoare triple {41844#(<= ~counter~0 6)} assume true; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,894 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {41844#(<= ~counter~0 6)} {41844#(<= ~counter~0 6)} #84#return; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,895 INFO L272 TraceCheckUtils]: 99: Hoare triple {41844#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,895 INFO L290 TraceCheckUtils]: 100: Hoare triple {41844#(<= ~counter~0 6)} ~cond := #in~cond; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,896 INFO L290 TraceCheckUtils]: 101: Hoare triple {41844#(<= ~counter~0 6)} assume !(0 == ~cond); {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,896 INFO L290 TraceCheckUtils]: 102: Hoare triple {41844#(<= ~counter~0 6)} assume true; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,896 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {41844#(<= ~counter~0 6)} {41844#(<= ~counter~0 6)} #86#return; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,897 INFO L290 TraceCheckUtils]: 104: Hoare triple {41844#(<= ~counter~0 6)} 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); {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,897 INFO L290 TraceCheckUtils]: 105: Hoare triple {41844#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {41844#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:31,898 INFO L290 TraceCheckUtils]: 106: Hoare triple {41844#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,898 INFO L290 TraceCheckUtils]: 107: Hoare triple {41887#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,899 INFO L272 TraceCheckUtils]: 108: Hoare triple {41887#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,899 INFO L290 TraceCheckUtils]: 109: Hoare triple {41887#(<= ~counter~0 7)} ~cond := #in~cond; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,900 INFO L290 TraceCheckUtils]: 110: Hoare triple {41887#(<= ~counter~0 7)} assume !(0 == ~cond); {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,900 INFO L290 TraceCheckUtils]: 111: Hoare triple {41887#(<= ~counter~0 7)} assume true; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,900 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {41887#(<= ~counter~0 7)} {41887#(<= ~counter~0 7)} #84#return; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,901 INFO L272 TraceCheckUtils]: 113: Hoare triple {41887#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,901 INFO L290 TraceCheckUtils]: 114: Hoare triple {41887#(<= ~counter~0 7)} ~cond := #in~cond; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,901 INFO L290 TraceCheckUtils]: 115: Hoare triple {41887#(<= ~counter~0 7)} assume !(0 == ~cond); {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,902 INFO L290 TraceCheckUtils]: 116: Hoare triple {41887#(<= ~counter~0 7)} assume true; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,902 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {41887#(<= ~counter~0 7)} {41887#(<= ~counter~0 7)} #86#return; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,902 INFO L290 TraceCheckUtils]: 118: Hoare triple {41887#(<= ~counter~0 7)} 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); {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,903 INFO L290 TraceCheckUtils]: 119: Hoare triple {41887#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {41887#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:31,903 INFO L290 TraceCheckUtils]: 120: Hoare triple {41887#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,904 INFO L290 TraceCheckUtils]: 121: Hoare triple {41930#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,904 INFO L272 TraceCheckUtils]: 122: Hoare triple {41930#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,904 INFO L290 TraceCheckUtils]: 123: Hoare triple {41930#(<= ~counter~0 8)} ~cond := #in~cond; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,905 INFO L290 TraceCheckUtils]: 124: Hoare triple {41930#(<= ~counter~0 8)} assume !(0 == ~cond); {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,905 INFO L290 TraceCheckUtils]: 125: Hoare triple {41930#(<= ~counter~0 8)} assume true; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,905 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {41930#(<= ~counter~0 8)} {41930#(<= ~counter~0 8)} #84#return; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,906 INFO L272 TraceCheckUtils]: 127: Hoare triple {41930#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,911 INFO L290 TraceCheckUtils]: 128: Hoare triple {41930#(<= ~counter~0 8)} ~cond := #in~cond; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,912 INFO L290 TraceCheckUtils]: 129: Hoare triple {41930#(<= ~counter~0 8)} assume !(0 == ~cond); {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,912 INFO L290 TraceCheckUtils]: 130: Hoare triple {41930#(<= ~counter~0 8)} assume true; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,913 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {41930#(<= ~counter~0 8)} {41930#(<= ~counter~0 8)} #86#return; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,913 INFO L290 TraceCheckUtils]: 132: Hoare triple {41930#(<= ~counter~0 8)} 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); {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,913 INFO L290 TraceCheckUtils]: 133: Hoare triple {41930#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {41930#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:31,914 INFO L290 TraceCheckUtils]: 134: Hoare triple {41930#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,914 INFO L290 TraceCheckUtils]: 135: Hoare triple {41973#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,915 INFO L272 TraceCheckUtils]: 136: Hoare triple {41973#(<= ~counter~0 9)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,915 INFO L290 TraceCheckUtils]: 137: Hoare triple {41973#(<= ~counter~0 9)} ~cond := #in~cond; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,915 INFO L290 TraceCheckUtils]: 138: Hoare triple {41973#(<= ~counter~0 9)} assume !(0 == ~cond); {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,915 INFO L290 TraceCheckUtils]: 139: Hoare triple {41973#(<= ~counter~0 9)} assume true; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,916 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {41973#(<= ~counter~0 9)} {41973#(<= ~counter~0 9)} #84#return; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,916 INFO L272 TraceCheckUtils]: 141: Hoare triple {41973#(<= ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,917 INFO L290 TraceCheckUtils]: 142: Hoare triple {41973#(<= ~counter~0 9)} ~cond := #in~cond; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,917 INFO L290 TraceCheckUtils]: 143: Hoare triple {41973#(<= ~counter~0 9)} assume !(0 == ~cond); {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,917 INFO L290 TraceCheckUtils]: 144: Hoare triple {41973#(<= ~counter~0 9)} assume true; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,918 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {41973#(<= ~counter~0 9)} {41973#(<= ~counter~0 9)} #86#return; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,918 INFO L290 TraceCheckUtils]: 146: Hoare triple {41973#(<= ~counter~0 9)} 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); {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,918 INFO L290 TraceCheckUtils]: 147: Hoare triple {41973#(<= ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {41973#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:31,919 INFO L290 TraceCheckUtils]: 148: Hoare triple {41973#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,919 INFO L290 TraceCheckUtils]: 149: Hoare triple {42016#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,919 INFO L272 TraceCheckUtils]: 150: Hoare triple {42016#(<= ~counter~0 10)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,920 INFO L290 TraceCheckUtils]: 151: Hoare triple {42016#(<= ~counter~0 10)} ~cond := #in~cond; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,920 INFO L290 TraceCheckUtils]: 152: Hoare triple {42016#(<= ~counter~0 10)} assume !(0 == ~cond); {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,920 INFO L290 TraceCheckUtils]: 153: Hoare triple {42016#(<= ~counter~0 10)} assume true; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,921 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {42016#(<= ~counter~0 10)} {42016#(<= ~counter~0 10)} #84#return; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,921 INFO L272 TraceCheckUtils]: 155: Hoare triple {42016#(<= ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,921 INFO L290 TraceCheckUtils]: 156: Hoare triple {42016#(<= ~counter~0 10)} ~cond := #in~cond; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,922 INFO L290 TraceCheckUtils]: 157: Hoare triple {42016#(<= ~counter~0 10)} assume !(0 == ~cond); {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,922 INFO L290 TraceCheckUtils]: 158: Hoare triple {42016#(<= ~counter~0 10)} assume true; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,922 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {42016#(<= ~counter~0 10)} {42016#(<= ~counter~0 10)} #86#return; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,923 INFO L290 TraceCheckUtils]: 160: Hoare triple {42016#(<= ~counter~0 10)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,923 INFO L290 TraceCheckUtils]: 161: Hoare triple {42016#(<= ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42016#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:31,924 INFO L290 TraceCheckUtils]: 162: Hoare triple {42016#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,924 INFO L290 TraceCheckUtils]: 163: Hoare triple {42059#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,924 INFO L272 TraceCheckUtils]: 164: Hoare triple {42059#(<= ~counter~0 11)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,925 INFO L290 TraceCheckUtils]: 165: Hoare triple {42059#(<= ~counter~0 11)} ~cond := #in~cond; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,925 INFO L290 TraceCheckUtils]: 166: Hoare triple {42059#(<= ~counter~0 11)} assume !(0 == ~cond); {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,925 INFO L290 TraceCheckUtils]: 167: Hoare triple {42059#(<= ~counter~0 11)} assume true; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,926 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {42059#(<= ~counter~0 11)} {42059#(<= ~counter~0 11)} #84#return; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,926 INFO L272 TraceCheckUtils]: 169: Hoare triple {42059#(<= ~counter~0 11)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,926 INFO L290 TraceCheckUtils]: 170: Hoare triple {42059#(<= ~counter~0 11)} ~cond := #in~cond; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,927 INFO L290 TraceCheckUtils]: 171: Hoare triple {42059#(<= ~counter~0 11)} assume !(0 == ~cond); {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,927 INFO L290 TraceCheckUtils]: 172: Hoare triple {42059#(<= ~counter~0 11)} assume true; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,927 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {42059#(<= ~counter~0 11)} {42059#(<= ~counter~0 11)} #86#return; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,928 INFO L290 TraceCheckUtils]: 174: Hoare triple {42059#(<= ~counter~0 11)} 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); {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,928 INFO L290 TraceCheckUtils]: 175: Hoare triple {42059#(<= ~counter~0 11)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42059#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:31,928 INFO L290 TraceCheckUtils]: 176: Hoare triple {42059#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,929 INFO L290 TraceCheckUtils]: 177: Hoare triple {42102#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,929 INFO L272 TraceCheckUtils]: 178: Hoare triple {42102#(<= ~counter~0 12)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,929 INFO L290 TraceCheckUtils]: 179: Hoare triple {42102#(<= ~counter~0 12)} ~cond := #in~cond; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,930 INFO L290 TraceCheckUtils]: 180: Hoare triple {42102#(<= ~counter~0 12)} assume !(0 == ~cond); {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,930 INFO L290 TraceCheckUtils]: 181: Hoare triple {42102#(<= ~counter~0 12)} assume true; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,930 INFO L284 TraceCheckUtils]: 182: Hoare quadruple {42102#(<= ~counter~0 12)} {42102#(<= ~counter~0 12)} #84#return; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,931 INFO L272 TraceCheckUtils]: 183: Hoare triple {42102#(<= ~counter~0 12)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,931 INFO L290 TraceCheckUtils]: 184: Hoare triple {42102#(<= ~counter~0 12)} ~cond := #in~cond; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,931 INFO L290 TraceCheckUtils]: 185: Hoare triple {42102#(<= ~counter~0 12)} assume !(0 == ~cond); {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,932 INFO L290 TraceCheckUtils]: 186: Hoare triple {42102#(<= ~counter~0 12)} assume true; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,932 INFO L284 TraceCheckUtils]: 187: Hoare quadruple {42102#(<= ~counter~0 12)} {42102#(<= ~counter~0 12)} #86#return; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,932 INFO L290 TraceCheckUtils]: 188: Hoare triple {42102#(<= ~counter~0 12)} 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); {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,933 INFO L290 TraceCheckUtils]: 189: Hoare triple {42102#(<= ~counter~0 12)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42102#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:31,933 INFO L290 TraceCheckUtils]: 190: Hoare triple {42102#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,934 INFO L290 TraceCheckUtils]: 191: Hoare triple {42145#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,934 INFO L272 TraceCheckUtils]: 192: Hoare triple {42145#(<= ~counter~0 13)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,934 INFO L290 TraceCheckUtils]: 193: Hoare triple {42145#(<= ~counter~0 13)} ~cond := #in~cond; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,935 INFO L290 TraceCheckUtils]: 194: Hoare triple {42145#(<= ~counter~0 13)} assume !(0 == ~cond); {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,935 INFO L290 TraceCheckUtils]: 195: Hoare triple {42145#(<= ~counter~0 13)} assume true; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,935 INFO L284 TraceCheckUtils]: 196: Hoare quadruple {42145#(<= ~counter~0 13)} {42145#(<= ~counter~0 13)} #84#return; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,936 INFO L272 TraceCheckUtils]: 197: Hoare triple {42145#(<= ~counter~0 13)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,936 INFO L290 TraceCheckUtils]: 198: Hoare triple {42145#(<= ~counter~0 13)} ~cond := #in~cond; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,936 INFO L290 TraceCheckUtils]: 199: Hoare triple {42145#(<= ~counter~0 13)} assume !(0 == ~cond); {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,937 INFO L290 TraceCheckUtils]: 200: Hoare triple {42145#(<= ~counter~0 13)} assume true; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,937 INFO L284 TraceCheckUtils]: 201: Hoare quadruple {42145#(<= ~counter~0 13)} {42145#(<= ~counter~0 13)} #86#return; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,937 INFO L290 TraceCheckUtils]: 202: Hoare triple {42145#(<= ~counter~0 13)} 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); {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,938 INFO L290 TraceCheckUtils]: 203: Hoare triple {42145#(<= ~counter~0 13)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42145#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:31,938 INFO L290 TraceCheckUtils]: 204: Hoare triple {42145#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,938 INFO L290 TraceCheckUtils]: 205: Hoare triple {42188#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,939 INFO L272 TraceCheckUtils]: 206: Hoare triple {42188#(<= ~counter~0 14)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,939 INFO L290 TraceCheckUtils]: 207: Hoare triple {42188#(<= ~counter~0 14)} ~cond := #in~cond; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,939 INFO L290 TraceCheckUtils]: 208: Hoare triple {42188#(<= ~counter~0 14)} assume !(0 == ~cond); {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,940 INFO L290 TraceCheckUtils]: 209: Hoare triple {42188#(<= ~counter~0 14)} assume true; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,940 INFO L284 TraceCheckUtils]: 210: Hoare quadruple {42188#(<= ~counter~0 14)} {42188#(<= ~counter~0 14)} #84#return; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,941 INFO L272 TraceCheckUtils]: 211: Hoare triple {42188#(<= ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,941 INFO L290 TraceCheckUtils]: 212: Hoare triple {42188#(<= ~counter~0 14)} ~cond := #in~cond; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,941 INFO L290 TraceCheckUtils]: 213: Hoare triple {42188#(<= ~counter~0 14)} assume !(0 == ~cond); {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,941 INFO L290 TraceCheckUtils]: 214: Hoare triple {42188#(<= ~counter~0 14)} assume true; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,942 INFO L284 TraceCheckUtils]: 215: Hoare quadruple {42188#(<= ~counter~0 14)} {42188#(<= ~counter~0 14)} #86#return; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,942 INFO L290 TraceCheckUtils]: 216: Hoare triple {42188#(<= ~counter~0 14)} 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); {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,942 INFO L290 TraceCheckUtils]: 217: Hoare triple {42188#(<= ~counter~0 14)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42188#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:31,943 INFO L290 TraceCheckUtils]: 218: Hoare triple {42188#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42231#(<= |main_#t~post6| 14)} is VALID [2022-04-27 13:47:31,943 INFO L290 TraceCheckUtils]: 219: Hoare triple {42231#(<= |main_#t~post6| 14)} assume !(#t~post6 < 100);havoc #t~post6; {41558#false} is VALID [2022-04-27 13:47:31,943 INFO L272 TraceCheckUtils]: 220: Hoare triple {41558#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41558#false} is VALID [2022-04-27 13:47:31,943 INFO L290 TraceCheckUtils]: 221: Hoare triple {41558#false} ~cond := #in~cond; {41558#false} is VALID [2022-04-27 13:47:31,943 INFO L290 TraceCheckUtils]: 222: Hoare triple {41558#false} assume 0 == ~cond; {41558#false} is VALID [2022-04-27 13:47:31,943 INFO L290 TraceCheckUtils]: 223: Hoare triple {41558#false} assume !false; {41558#false} is VALID [2022-04-27 13:47:31,944 INFO L134 CoverageAnalysis]: Checked inductivity of 2374 backedges. 64 proven. 2222 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:47:31,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:47:32,993 INFO L290 TraceCheckUtils]: 223: Hoare triple {41558#false} assume !false; {41558#false} is VALID [2022-04-27 13:47:32,993 INFO L290 TraceCheckUtils]: 222: Hoare triple {41558#false} assume 0 == ~cond; {41558#false} is VALID [2022-04-27 13:47:32,993 INFO L290 TraceCheckUtils]: 221: Hoare triple {41558#false} ~cond := #in~cond; {41558#false} is VALID [2022-04-27 13:47:32,994 INFO L272 TraceCheckUtils]: 220: Hoare triple {41558#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41558#false} is VALID [2022-04-27 13:47:32,994 INFO L290 TraceCheckUtils]: 219: Hoare triple {42259#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {41558#false} is VALID [2022-04-27 13:47:32,994 INFO L290 TraceCheckUtils]: 218: Hoare triple {42263#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42259#(< |main_#t~post6| 100)} is VALID [2022-04-27 13:47:32,994 INFO L290 TraceCheckUtils]: 217: Hoare triple {42263#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,995 INFO L290 TraceCheckUtils]: 216: Hoare triple {42263#(< ~counter~0 100)} 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); {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,995 INFO L284 TraceCheckUtils]: 215: Hoare quadruple {41557#true} {42263#(< ~counter~0 100)} #86#return; {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,995 INFO L290 TraceCheckUtils]: 214: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:32,995 INFO L290 TraceCheckUtils]: 213: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:32,995 INFO L290 TraceCheckUtils]: 212: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:32,995 INFO L272 TraceCheckUtils]: 211: Hoare triple {42263#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:32,996 INFO L284 TraceCheckUtils]: 210: Hoare quadruple {41557#true} {42263#(< ~counter~0 100)} #84#return; {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,996 INFO L290 TraceCheckUtils]: 209: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:32,996 INFO L290 TraceCheckUtils]: 208: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:32,996 INFO L290 TraceCheckUtils]: 207: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:32,996 INFO L272 TraceCheckUtils]: 206: Hoare triple {42263#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:32,996 INFO L290 TraceCheckUtils]: 205: Hoare triple {42263#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,997 INFO L290 TraceCheckUtils]: 204: Hoare triple {42306#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42263#(< ~counter~0 100)} is VALID [2022-04-27 13:47:32,997 INFO L290 TraceCheckUtils]: 203: Hoare triple {42306#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:32,998 INFO L290 TraceCheckUtils]: 202: Hoare triple {42306#(< ~counter~0 99)} 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); {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:32,998 INFO L284 TraceCheckUtils]: 201: Hoare quadruple {41557#true} {42306#(< ~counter~0 99)} #86#return; {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:32,998 INFO L290 TraceCheckUtils]: 200: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:32,998 INFO L290 TraceCheckUtils]: 199: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:32,998 INFO L290 TraceCheckUtils]: 198: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:32,998 INFO L272 TraceCheckUtils]: 197: Hoare triple {42306#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:32,999 INFO L284 TraceCheckUtils]: 196: Hoare quadruple {41557#true} {42306#(< ~counter~0 99)} #84#return; {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:32,999 INFO L290 TraceCheckUtils]: 195: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:32,999 INFO L290 TraceCheckUtils]: 194: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:32,999 INFO L290 TraceCheckUtils]: 193: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:32,999 INFO L272 TraceCheckUtils]: 192: Hoare triple {42306#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:32,999 INFO L290 TraceCheckUtils]: 191: Hoare triple {42306#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:33,000 INFO L290 TraceCheckUtils]: 190: Hoare triple {42349#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42306#(< ~counter~0 99)} is VALID [2022-04-27 13:47:33,000 INFO L290 TraceCheckUtils]: 189: Hoare triple {42349#(< ~counter~0 98)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,000 INFO L290 TraceCheckUtils]: 188: Hoare triple {42349#(< ~counter~0 98)} 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); {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,001 INFO L284 TraceCheckUtils]: 187: Hoare quadruple {41557#true} {42349#(< ~counter~0 98)} #86#return; {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,001 INFO L290 TraceCheckUtils]: 186: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,001 INFO L290 TraceCheckUtils]: 185: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,001 INFO L290 TraceCheckUtils]: 184: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,001 INFO L272 TraceCheckUtils]: 183: Hoare triple {42349#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,002 INFO L284 TraceCheckUtils]: 182: Hoare quadruple {41557#true} {42349#(< ~counter~0 98)} #84#return; {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,002 INFO L290 TraceCheckUtils]: 181: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,002 INFO L290 TraceCheckUtils]: 180: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,002 INFO L290 TraceCheckUtils]: 179: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,002 INFO L272 TraceCheckUtils]: 178: Hoare triple {42349#(< ~counter~0 98)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,002 INFO L290 TraceCheckUtils]: 177: Hoare triple {42349#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,003 INFO L290 TraceCheckUtils]: 176: Hoare triple {42392#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42349#(< ~counter~0 98)} is VALID [2022-04-27 13:47:33,003 INFO L290 TraceCheckUtils]: 175: Hoare triple {42392#(< ~counter~0 97)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,003 INFO L290 TraceCheckUtils]: 174: Hoare triple {42392#(< ~counter~0 97)} 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); {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,004 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {41557#true} {42392#(< ~counter~0 97)} #86#return; {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,004 INFO L290 TraceCheckUtils]: 172: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,004 INFO L290 TraceCheckUtils]: 171: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,004 INFO L290 TraceCheckUtils]: 170: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,004 INFO L272 TraceCheckUtils]: 169: Hoare triple {42392#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,004 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {41557#true} {42392#(< ~counter~0 97)} #84#return; {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,004 INFO L290 TraceCheckUtils]: 167: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,005 INFO L290 TraceCheckUtils]: 166: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,005 INFO L290 TraceCheckUtils]: 165: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,005 INFO L272 TraceCheckUtils]: 164: Hoare triple {42392#(< ~counter~0 97)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,005 INFO L290 TraceCheckUtils]: 163: Hoare triple {42392#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,005 INFO L290 TraceCheckUtils]: 162: Hoare triple {42435#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42392#(< ~counter~0 97)} is VALID [2022-04-27 13:47:33,006 INFO L290 TraceCheckUtils]: 161: Hoare triple {42435#(< ~counter~0 96)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,006 INFO L290 TraceCheckUtils]: 160: Hoare triple {42435#(< ~counter~0 96)} 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); {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,006 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {41557#true} {42435#(< ~counter~0 96)} #86#return; {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,006 INFO L290 TraceCheckUtils]: 158: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L290 TraceCheckUtils]: 157: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L290 TraceCheckUtils]: 156: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L272 TraceCheckUtils]: 155: Hoare triple {42435#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {41557#true} {42435#(< ~counter~0 96)} #84#return; {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,007 INFO L290 TraceCheckUtils]: 153: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L290 TraceCheckUtils]: 152: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L290 TraceCheckUtils]: 151: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,007 INFO L272 TraceCheckUtils]: 150: Hoare triple {42435#(< ~counter~0 96)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,008 INFO L290 TraceCheckUtils]: 149: Hoare triple {42435#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,008 INFO L290 TraceCheckUtils]: 148: Hoare triple {42478#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42435#(< ~counter~0 96)} is VALID [2022-04-27 13:47:33,008 INFO L290 TraceCheckUtils]: 147: Hoare triple {42478#(< ~counter~0 95)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,009 INFO L290 TraceCheckUtils]: 146: Hoare triple {42478#(< ~counter~0 95)} 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); {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,009 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {41557#true} {42478#(< ~counter~0 95)} #86#return; {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,009 INFO L290 TraceCheckUtils]: 144: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,009 INFO L290 TraceCheckUtils]: 143: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,009 INFO L290 TraceCheckUtils]: 142: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,009 INFO L272 TraceCheckUtils]: 141: Hoare triple {42478#(< ~counter~0 95)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,010 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {41557#true} {42478#(< ~counter~0 95)} #84#return; {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,010 INFO L290 TraceCheckUtils]: 139: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,010 INFO L290 TraceCheckUtils]: 138: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,010 INFO L290 TraceCheckUtils]: 137: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,010 INFO L272 TraceCheckUtils]: 136: Hoare triple {42478#(< ~counter~0 95)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,010 INFO L290 TraceCheckUtils]: 135: Hoare triple {42478#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,011 INFO L290 TraceCheckUtils]: 134: Hoare triple {42521#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42478#(< ~counter~0 95)} is VALID [2022-04-27 13:47:33,013 INFO L290 TraceCheckUtils]: 133: Hoare triple {42521#(< ~counter~0 94)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,013 INFO L290 TraceCheckUtils]: 132: Hoare triple {42521#(< ~counter~0 94)} 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); {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,014 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {41557#true} {42521#(< ~counter~0 94)} #86#return; {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,014 INFO L290 TraceCheckUtils]: 130: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,014 INFO L290 TraceCheckUtils]: 129: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,014 INFO L290 TraceCheckUtils]: 128: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,014 INFO L272 TraceCheckUtils]: 127: Hoare triple {42521#(< ~counter~0 94)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,014 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {41557#true} {42521#(< ~counter~0 94)} #84#return; {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,014 INFO L290 TraceCheckUtils]: 125: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,014 INFO L290 TraceCheckUtils]: 124: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,015 INFO L290 TraceCheckUtils]: 123: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,015 INFO L272 TraceCheckUtils]: 122: Hoare triple {42521#(< ~counter~0 94)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,015 INFO L290 TraceCheckUtils]: 121: Hoare triple {42521#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,015 INFO L290 TraceCheckUtils]: 120: Hoare triple {42564#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42521#(< ~counter~0 94)} is VALID [2022-04-27 13:47:33,016 INFO L290 TraceCheckUtils]: 119: Hoare triple {42564#(< ~counter~0 93)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,016 INFO L290 TraceCheckUtils]: 118: Hoare triple {42564#(< ~counter~0 93)} 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); {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,016 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {41557#true} {42564#(< ~counter~0 93)} #86#return; {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,016 INFO L290 TraceCheckUtils]: 116: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L290 TraceCheckUtils]: 115: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L290 TraceCheckUtils]: 114: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L272 TraceCheckUtils]: 113: Hoare triple {42564#(< ~counter~0 93)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {41557#true} {42564#(< ~counter~0 93)} #84#return; {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,017 INFO L290 TraceCheckUtils]: 111: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L290 TraceCheckUtils]: 110: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L290 TraceCheckUtils]: 109: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,017 INFO L272 TraceCheckUtils]: 108: Hoare triple {42564#(< ~counter~0 93)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,018 INFO L290 TraceCheckUtils]: 107: Hoare triple {42564#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,018 INFO L290 TraceCheckUtils]: 106: Hoare triple {42607#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42564#(< ~counter~0 93)} is VALID [2022-04-27 13:47:33,018 INFO L290 TraceCheckUtils]: 105: Hoare triple {42607#(< ~counter~0 92)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,023 INFO L290 TraceCheckUtils]: 104: Hoare triple {42607#(< ~counter~0 92)} 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); {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,024 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {41557#true} {42607#(< ~counter~0 92)} #86#return; {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,024 INFO L290 TraceCheckUtils]: 102: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,024 INFO L290 TraceCheckUtils]: 101: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,024 INFO L290 TraceCheckUtils]: 100: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,025 INFO L272 TraceCheckUtils]: 99: Hoare triple {42607#(< ~counter~0 92)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,025 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {41557#true} {42607#(< ~counter~0 92)} #84#return; {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,025 INFO L290 TraceCheckUtils]: 97: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,025 INFO L290 TraceCheckUtils]: 96: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,025 INFO L290 TraceCheckUtils]: 95: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,026 INFO L272 TraceCheckUtils]: 94: Hoare triple {42607#(< ~counter~0 92)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,026 INFO L290 TraceCheckUtils]: 93: Hoare triple {42607#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,027 INFO L290 TraceCheckUtils]: 92: Hoare triple {42650#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42607#(< ~counter~0 92)} is VALID [2022-04-27 13:47:33,027 INFO L290 TraceCheckUtils]: 91: Hoare triple {42650#(< ~counter~0 91)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,028 INFO L290 TraceCheckUtils]: 90: Hoare triple {42650#(< ~counter~0 91)} 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); {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,028 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {41557#true} {42650#(< ~counter~0 91)} #86#return; {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,028 INFO L290 TraceCheckUtils]: 88: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,028 INFO L290 TraceCheckUtils]: 87: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,028 INFO L290 TraceCheckUtils]: 86: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,029 INFO L272 TraceCheckUtils]: 85: Hoare triple {42650#(< ~counter~0 91)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,029 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {41557#true} {42650#(< ~counter~0 91)} #84#return; {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,029 INFO L290 TraceCheckUtils]: 83: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,029 INFO L290 TraceCheckUtils]: 82: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,029 INFO L290 TraceCheckUtils]: 81: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,030 INFO L272 TraceCheckUtils]: 80: Hoare triple {42650#(< ~counter~0 91)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,030 INFO L290 TraceCheckUtils]: 79: Hoare triple {42650#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,031 INFO L290 TraceCheckUtils]: 78: Hoare triple {42693#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42650#(< ~counter~0 91)} is VALID [2022-04-27 13:47:33,031 INFO L290 TraceCheckUtils]: 77: Hoare triple {42693#(< ~counter~0 90)} assume !(~r~0 >= ~d~0); {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,032 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {41557#true} {42693#(< ~counter~0 90)} #82#return; {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,032 INFO L290 TraceCheckUtils]: 75: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,032 INFO L290 TraceCheckUtils]: 74: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,032 INFO L290 TraceCheckUtils]: 73: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,032 INFO L272 TraceCheckUtils]: 72: Hoare triple {42693#(< ~counter~0 90)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,032 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41557#true} {42693#(< ~counter~0 90)} #80#return; {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,033 INFO L290 TraceCheckUtils]: 70: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,033 INFO L290 TraceCheckUtils]: 69: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,033 INFO L290 TraceCheckUtils]: 68: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,033 INFO L272 TraceCheckUtils]: 67: Hoare triple {42693#(< ~counter~0 90)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,033 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {41557#true} {42693#(< ~counter~0 90)} #78#return; {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,033 INFO L290 TraceCheckUtils]: 64: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,034 INFO L272 TraceCheckUtils]: 62: Hoare triple {42693#(< ~counter~0 90)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {42693#(< ~counter~0 90)} assume !!(#t~post5 < 100);havoc #t~post5; {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,035 INFO L290 TraceCheckUtils]: 60: Hoare triple {42748#(< ~counter~0 89)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42693#(< ~counter~0 90)} is VALID [2022-04-27 13:47:33,035 INFO L290 TraceCheckUtils]: 59: Hoare triple {42748#(< ~counter~0 89)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,036 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {41557#true} {42748#(< ~counter~0 89)} #82#return; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,036 INFO L290 TraceCheckUtils]: 56: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,036 INFO L290 TraceCheckUtils]: 55: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,036 INFO L272 TraceCheckUtils]: 54: Hoare triple {42748#(< ~counter~0 89)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,036 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {41557#true} {42748#(< ~counter~0 89)} #80#return; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 52: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L272 TraceCheckUtils]: 49: Hoare triple {42748#(< ~counter~0 89)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {41557#true} {42748#(< ~counter~0 89)} #78#return; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,038 INFO L272 TraceCheckUtils]: 44: Hoare triple {42748#(< ~counter~0 89)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,038 INFO L290 TraceCheckUtils]: 43: Hoare triple {42748#(< ~counter~0 89)} assume !!(#t~post5 < 100);havoc #t~post5; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,038 INFO L290 TraceCheckUtils]: 42: Hoare triple {42803#(< ~counter~0 88)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42748#(< ~counter~0 89)} is VALID [2022-04-27 13:47:33,039 INFO L290 TraceCheckUtils]: 41: Hoare triple {42803#(< ~counter~0 88)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,039 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {41557#true} {42803#(< ~counter~0 88)} #82#return; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,039 INFO L290 TraceCheckUtils]: 38: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L290 TraceCheckUtils]: 37: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L272 TraceCheckUtils]: 36: Hoare triple {42803#(< ~counter~0 88)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {41557#true} {42803#(< ~counter~0 88)} #80#return; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,040 INFO L290 TraceCheckUtils]: 34: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L290 TraceCheckUtils]: 33: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L290 TraceCheckUtils]: 32: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,040 INFO L272 TraceCheckUtils]: 31: Hoare triple {42803#(< ~counter~0 88)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,041 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {41557#true} {42803#(< ~counter~0 88)} #78#return; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,041 INFO L272 TraceCheckUtils]: 26: Hoare triple {42803#(< ~counter~0 88)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {42803#(< ~counter~0 88)} assume !!(#t~post5 < 100);havoc #t~post5; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {42858#(< ~counter~0 87)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42803#(< ~counter~0 88)} is VALID [2022-04-27 13:47:33,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {42858#(< ~counter~0 87)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,043 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {41557#true} {42858#(< ~counter~0 87)} #82#return; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,043 INFO L272 TraceCheckUtils]: 18: Hoare triple {42858#(< ~counter~0 87)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,044 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {41557#true} {42858#(< ~counter~0 87)} #80#return; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,044 INFO L290 TraceCheckUtils]: 16: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,044 INFO L272 TraceCheckUtils]: 13: Hoare triple {42858#(< ~counter~0 87)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,045 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {41557#true} {42858#(< ~counter~0 87)} #78#return; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {41557#true} assume true; {41557#true} is VALID [2022-04-27 13:47:33,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {41557#true} assume !(0 == ~cond); {41557#true} is VALID [2022-04-27 13:47:33,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {41557#true} ~cond := #in~cond; {41557#true} is VALID [2022-04-27 13:47:33,045 INFO L272 TraceCheckUtils]: 8: Hoare triple {42858#(< ~counter~0 87)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {41557#true} is VALID [2022-04-27 13:47:33,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {42858#(< ~counter~0 87)} assume !!(#t~post5 < 100);havoc #t~post5; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,046 INFO L290 TraceCheckUtils]: 6: Hoare triple {42913#(< ~counter~0 86)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {42858#(< ~counter~0 87)} is VALID [2022-04-27 13:47:33,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {42913#(< ~counter~0 86)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {42913#(< ~counter~0 86)} is VALID [2022-04-27 13:47:33,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {42913#(< ~counter~0 86)} call #t~ret7 := main(); {42913#(< ~counter~0 86)} is VALID [2022-04-27 13:47:33,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42913#(< ~counter~0 86)} {41557#true} #92#return; {42913#(< ~counter~0 86)} is VALID [2022-04-27 13:47:33,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {42913#(< ~counter~0 86)} assume true; {42913#(< ~counter~0 86)} is VALID [2022-04-27 13:47:33,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {41557#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);~counter~0 := 0; {42913#(< ~counter~0 86)} is VALID [2022-04-27 13:47:33,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {41557#true} call ULTIMATE.init(); {41557#true} is VALID [2022-04-27 13:47:33,049 INFO L134 CoverageAnalysis]: Checked inductivity of 2374 backedges. 64 proven. 326 refuted. 0 times theorem prover too weak. 1984 trivial. 0 not checked. [2022-04-27 13:47:33,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:47:33,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128038169] [2022-04-27 13:47:33,049 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:47:33,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [953487903] [2022-04-27 13:47:33,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [953487903] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:47:33,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:47:33,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 34 [2022-04-27 13:47:33,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [787282774] [2022-04-27 13:47:33,050 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:47:33,051 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) Word has length 224 [2022-04-27 13:47:33,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:47:33,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) [2022-04-27 13:47:33,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:33,296 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-27 13:47:33,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:47:33,297 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-27 13:47:33,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=501, Invalid=621, Unknown=0, NotChecked=0, Total=1122 [2022-04-27 13:47:33,298 INFO L87 Difference]: Start difference. First operand 539 states and 604 transitions. Second operand has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) [2022-04-27 13:47:38,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:38,501 INFO L93 Difference]: Finished difference Result 1289 states and 1514 transitions. [2022-04-27 13:47:38,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 58 states. [2022-04-27 13:47:38,502 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) Word has length 224 [2022-04-27 13:47:38,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:47:38,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) [2022-04-27 13:47:38,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 680 transitions. [2022-04-27 13:47:38,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) [2022-04-27 13:47:38,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 680 transitions. [2022-04-27 13:47:38,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 680 transitions. [2022-04-27 13:47:39,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 680 edges. 680 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:39,196 INFO L225 Difference]: With dead ends: 1289 [2022-04-27 13:47:39,197 INFO L226 Difference]: Without dead ends: 1276 [2022-04-27 13:47:39,198 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 472 GetRequests, 415 SyntacticMatches, 0 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 434 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=1212, Invalid=2210, Unknown=0, NotChecked=0, Total=3422 [2022-04-27 13:47:39,199 INFO L413 NwaCegarLoop]: 169 mSDtfsCounter, 959 mSDsluCounter, 668 mSDsCounter, 0 mSdLazyCounter, 573 mSolverCounterSat, 925 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 959 SdHoareTripleChecker+Valid, 837 SdHoareTripleChecker+Invalid, 1498 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 925 IncrementalHoareTripleChecker+Valid, 573 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:47:39,199 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [959 Valid, 837 Invalid, 1498 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [925 Valid, 573 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-27 13:47:39,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1276 states. [2022-04-27 13:47:40,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1276 to 1275. [2022-04-27 13:47:40,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:47:40,324 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1276 states. Second operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) [2022-04-27 13:47:40,325 INFO L74 IsIncluded]: Start isIncluded. First operand 1276 states. Second operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) [2022-04-27 13:47:40,326 INFO L87 Difference]: Start difference. First operand 1276 states. Second operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) [2022-04-27 13:47:40,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:40,403 INFO L93 Difference]: Finished difference Result 1276 states and 1453 transitions. [2022-04-27 13:47:40,403 INFO L276 IsEmpty]: Start isEmpty. Operand 1276 states and 1453 transitions. [2022-04-27 13:47:40,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:40,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:40,407 INFO L74 IsIncluded]: Start isIncluded. First operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) Second operand 1276 states. [2022-04-27 13:47:40,409 INFO L87 Difference]: Start difference. First operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) Second operand 1276 states. [2022-04-27 13:47:40,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:47:40,472 INFO L93 Difference]: Finished difference Result 1276 states and 1453 transitions. [2022-04-27 13:47:40,472 INFO L276 IsEmpty]: Start isEmpty. Operand 1276 states and 1453 transitions. [2022-04-27 13:47:40,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:47:40,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:47:40,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:47:40,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:47:40,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1275 states, 858 states have (on average 1.118881118881119) internal successors, (960), 885 states have internal predecessors, (960), 247 states have call successors, (247), 170 states have call predecessors, (247), 169 states have return successors, (245), 219 states have call predecessors, (245), 245 states have call successors, (245) [2022-04-27 13:47:40,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1275 states to 1275 states and 1452 transitions. [2022-04-27 13:47:40,560 INFO L78 Accepts]: Start accepts. Automaton has 1275 states and 1452 transitions. Word has length 224 [2022-04-27 13:47:40,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:47:40,561 INFO L495 AbstractCegarLoop]: Abstraction has 1275 states and 1452 transitions. [2022-04-27 13:47:40,561 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 4.764705882352941) internal successors, (162), 34 states have internal predecessors, (162), 32 states have call successors, (68), 18 states have call predecessors, (68), 17 states have return successors, (66), 30 states have call predecessors, (66), 29 states have call successors, (66) [2022-04-27 13:47:40,561 INFO L276 IsEmpty]: Start isEmpty. Operand 1275 states and 1452 transitions. [2022-04-27 13:47:40,569 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 449 [2022-04-27 13:47:40,569 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:47:40,569 INFO L195 NwaCegarLoop]: trace histogram [65, 64, 64, 27, 26, 26, 26, 26, 26, 26, 26, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:47:40,591 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-27 13:47:40,783 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:40,784 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:47:40,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:47:40,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1239263796, now seen corresponding path program 3 times [2022-04-27 13:47:40,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:47:40,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [9232693] [2022-04-27 13:47:40,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:47:40,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:47:40,830 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:47:40,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [34760940] [2022-04-27 13:47:40,830 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:47:40,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:47:40,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:47:40,831 INFO L229 MonitoredProcess]: Starting monitored process 19 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:47:40,859 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-27 13:47:43,737 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 42 check-sat command(s) [2022-04-27 13:47:43,737 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:47:43,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 1068 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-27 13:47:43,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:47:43,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:47:46,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {49000#true} call ULTIMATE.init(); {49000#true} is VALID [2022-04-27 13:47:46,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {49000#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);~counter~0 := 0; {49008#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:46,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {49008#(<= ~counter~0 0)} assume true; {49008#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:46,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49008#(<= ~counter~0 0)} {49000#true} #92#return; {49008#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:46,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {49008#(<= ~counter~0 0)} call #t~ret7 := main(); {49008#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:46,011 INFO L290 TraceCheckUtils]: 5: Hoare triple {49008#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {49008#(<= ~counter~0 0)} is VALID [2022-04-27 13:47:46,013 INFO L290 TraceCheckUtils]: 6: Hoare triple {49008#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {49024#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,014 INFO L272 TraceCheckUtils]: 8: Hoare triple {49024#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {49024#(<= ~counter~0 1)} ~cond := #in~cond; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {49024#(<= ~counter~0 1)} assume !(0 == ~cond); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {49024#(<= ~counter~0 1)} assume true; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,016 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {49024#(<= ~counter~0 1)} {49024#(<= ~counter~0 1)} #78#return; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,016 INFO L272 TraceCheckUtils]: 13: Hoare triple {49024#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {49024#(<= ~counter~0 1)} ~cond := #in~cond; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {49024#(<= ~counter~0 1)} assume !(0 == ~cond); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {49024#(<= ~counter~0 1)} assume true; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,018 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {49024#(<= ~counter~0 1)} {49024#(<= ~counter~0 1)} #80#return; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,018 INFO L272 TraceCheckUtils]: 18: Hoare triple {49024#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,019 INFO L290 TraceCheckUtils]: 19: Hoare triple {49024#(<= ~counter~0 1)} ~cond := #in~cond; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {49024#(<= ~counter~0 1)} assume !(0 == ~cond); {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {49024#(<= ~counter~0 1)} assume true; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,020 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {49024#(<= ~counter~0 1)} {49024#(<= ~counter~0 1)} #82#return; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {49024#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {49024#(<= ~counter~0 1)} is VALID [2022-04-27 13:47:46,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {49024#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {49079#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,021 INFO L272 TraceCheckUtils]: 26: Hoare triple {49079#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {49079#(<= ~counter~0 2)} ~cond := #in~cond; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {49079#(<= ~counter~0 2)} assume !(0 == ~cond); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {49079#(<= ~counter~0 2)} assume true; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,022 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {49079#(<= ~counter~0 2)} {49079#(<= ~counter~0 2)} #78#return; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,023 INFO L272 TraceCheckUtils]: 31: Hoare triple {49079#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {49079#(<= ~counter~0 2)} ~cond := #in~cond; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {49079#(<= ~counter~0 2)} assume !(0 == ~cond); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,024 INFO L290 TraceCheckUtils]: 34: Hoare triple {49079#(<= ~counter~0 2)} assume true; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,024 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {49079#(<= ~counter~0 2)} {49079#(<= ~counter~0 2)} #80#return; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,024 INFO L272 TraceCheckUtils]: 36: Hoare triple {49079#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {49079#(<= ~counter~0 2)} ~cond := #in~cond; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,025 INFO L290 TraceCheckUtils]: 38: Hoare triple {49079#(<= ~counter~0 2)} assume !(0 == ~cond); {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {49079#(<= ~counter~0 2)} assume true; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,026 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {49079#(<= ~counter~0 2)} {49079#(<= ~counter~0 2)} #82#return; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,026 INFO L290 TraceCheckUtils]: 41: Hoare triple {49079#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {49079#(<= ~counter~0 2)} is VALID [2022-04-27 13:47:46,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {49079#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,027 INFO L290 TraceCheckUtils]: 43: Hoare triple {49134#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,027 INFO L272 TraceCheckUtils]: 44: Hoare triple {49134#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,028 INFO L290 TraceCheckUtils]: 45: Hoare triple {49134#(<= ~counter~0 3)} ~cond := #in~cond; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,028 INFO L290 TraceCheckUtils]: 46: Hoare triple {49134#(<= ~counter~0 3)} assume !(0 == ~cond); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,028 INFO L290 TraceCheckUtils]: 47: Hoare triple {49134#(<= ~counter~0 3)} assume true; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,028 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {49134#(<= ~counter~0 3)} {49134#(<= ~counter~0 3)} #78#return; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,029 INFO L272 TraceCheckUtils]: 49: Hoare triple {49134#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,029 INFO L290 TraceCheckUtils]: 50: Hoare triple {49134#(<= ~counter~0 3)} ~cond := #in~cond; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {49134#(<= ~counter~0 3)} assume !(0 == ~cond); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,030 INFO L290 TraceCheckUtils]: 52: Hoare triple {49134#(<= ~counter~0 3)} assume true; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,030 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {49134#(<= ~counter~0 3)} {49134#(<= ~counter~0 3)} #80#return; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,030 INFO L272 TraceCheckUtils]: 54: Hoare triple {49134#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {49134#(<= ~counter~0 3)} ~cond := #in~cond; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {49134#(<= ~counter~0 3)} assume !(0 == ~cond); {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,031 INFO L290 TraceCheckUtils]: 57: Hoare triple {49134#(<= ~counter~0 3)} assume true; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,032 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {49134#(<= ~counter~0 3)} {49134#(<= ~counter~0 3)} #82#return; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,032 INFO L290 TraceCheckUtils]: 59: Hoare triple {49134#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {49134#(<= ~counter~0 3)} is VALID [2022-04-27 13:47:46,033 INFO L290 TraceCheckUtils]: 60: Hoare triple {49134#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {49189#(<= ~counter~0 4)} assume !!(#t~post5 < 100);havoc #t~post5; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,034 INFO L272 TraceCheckUtils]: 62: Hoare triple {49189#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {49189#(<= ~counter~0 4)} ~cond := #in~cond; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,035 INFO L290 TraceCheckUtils]: 64: Hoare triple {49189#(<= ~counter~0 4)} assume !(0 == ~cond); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,036 INFO L290 TraceCheckUtils]: 65: Hoare triple {49189#(<= ~counter~0 4)} assume true; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,036 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {49189#(<= ~counter~0 4)} {49189#(<= ~counter~0 4)} #78#return; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,036 INFO L272 TraceCheckUtils]: 67: Hoare triple {49189#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,037 INFO L290 TraceCheckUtils]: 68: Hoare triple {49189#(<= ~counter~0 4)} ~cond := #in~cond; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,037 INFO L290 TraceCheckUtils]: 69: Hoare triple {49189#(<= ~counter~0 4)} assume !(0 == ~cond); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,037 INFO L290 TraceCheckUtils]: 70: Hoare triple {49189#(<= ~counter~0 4)} assume true; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,038 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {49189#(<= ~counter~0 4)} {49189#(<= ~counter~0 4)} #80#return; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,038 INFO L272 TraceCheckUtils]: 72: Hoare triple {49189#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,038 INFO L290 TraceCheckUtils]: 73: Hoare triple {49189#(<= ~counter~0 4)} ~cond := #in~cond; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,039 INFO L290 TraceCheckUtils]: 74: Hoare triple {49189#(<= ~counter~0 4)} assume !(0 == ~cond); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,039 INFO L290 TraceCheckUtils]: 75: Hoare triple {49189#(<= ~counter~0 4)} assume true; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,039 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {49189#(<= ~counter~0 4)} {49189#(<= ~counter~0 4)} #82#return; {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,040 INFO L290 TraceCheckUtils]: 77: Hoare triple {49189#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {49189#(<= ~counter~0 4)} is VALID [2022-04-27 13:47:46,040 INFO L290 TraceCheckUtils]: 78: Hoare triple {49189#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,042 INFO L290 TraceCheckUtils]: 79: Hoare triple {49244#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,042 INFO L272 TraceCheckUtils]: 80: Hoare triple {49244#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,042 INFO L290 TraceCheckUtils]: 81: Hoare triple {49244#(<= ~counter~0 5)} ~cond := #in~cond; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,043 INFO L290 TraceCheckUtils]: 82: Hoare triple {49244#(<= ~counter~0 5)} assume !(0 == ~cond); {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,043 INFO L290 TraceCheckUtils]: 83: Hoare triple {49244#(<= ~counter~0 5)} assume true; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,043 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {49244#(<= ~counter~0 5)} {49244#(<= ~counter~0 5)} #84#return; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,044 INFO L272 TraceCheckUtils]: 85: Hoare triple {49244#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,044 INFO L290 TraceCheckUtils]: 86: Hoare triple {49244#(<= ~counter~0 5)} ~cond := #in~cond; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,044 INFO L290 TraceCheckUtils]: 87: Hoare triple {49244#(<= ~counter~0 5)} assume !(0 == ~cond); {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,045 INFO L290 TraceCheckUtils]: 88: Hoare triple {49244#(<= ~counter~0 5)} assume true; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,045 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {49244#(<= ~counter~0 5)} {49244#(<= ~counter~0 5)} #86#return; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,045 INFO L290 TraceCheckUtils]: 90: Hoare triple {49244#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,045 INFO L290 TraceCheckUtils]: 91: Hoare triple {49244#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49244#(<= ~counter~0 5)} is VALID [2022-04-27 13:47:46,046 INFO L290 TraceCheckUtils]: 92: Hoare triple {49244#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,046 INFO L290 TraceCheckUtils]: 93: Hoare triple {49287#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,047 INFO L272 TraceCheckUtils]: 94: Hoare triple {49287#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,047 INFO L290 TraceCheckUtils]: 95: Hoare triple {49287#(<= ~counter~0 6)} ~cond := #in~cond; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,047 INFO L290 TraceCheckUtils]: 96: Hoare triple {49287#(<= ~counter~0 6)} assume !(0 == ~cond); {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,048 INFO L290 TraceCheckUtils]: 97: Hoare triple {49287#(<= ~counter~0 6)} assume true; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,048 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {49287#(<= ~counter~0 6)} {49287#(<= ~counter~0 6)} #84#return; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,049 INFO L272 TraceCheckUtils]: 99: Hoare triple {49287#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,049 INFO L290 TraceCheckUtils]: 100: Hoare triple {49287#(<= ~counter~0 6)} ~cond := #in~cond; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,049 INFO L290 TraceCheckUtils]: 101: Hoare triple {49287#(<= ~counter~0 6)} assume !(0 == ~cond); {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,049 INFO L290 TraceCheckUtils]: 102: Hoare triple {49287#(<= ~counter~0 6)} assume true; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,050 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {49287#(<= ~counter~0 6)} {49287#(<= ~counter~0 6)} #86#return; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,050 INFO L290 TraceCheckUtils]: 104: Hoare triple {49287#(<= ~counter~0 6)} 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); {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,050 INFO L290 TraceCheckUtils]: 105: Hoare triple {49287#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49287#(<= ~counter~0 6)} is VALID [2022-04-27 13:47:46,052 INFO L290 TraceCheckUtils]: 106: Hoare triple {49287#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,052 INFO L290 TraceCheckUtils]: 107: Hoare triple {49330#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,053 INFO L272 TraceCheckUtils]: 108: Hoare triple {49330#(<= ~counter~0 7)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,053 INFO L290 TraceCheckUtils]: 109: Hoare triple {49330#(<= ~counter~0 7)} ~cond := #in~cond; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,053 INFO L290 TraceCheckUtils]: 110: Hoare triple {49330#(<= ~counter~0 7)} assume !(0 == ~cond); {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,054 INFO L290 TraceCheckUtils]: 111: Hoare triple {49330#(<= ~counter~0 7)} assume true; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,054 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {49330#(<= ~counter~0 7)} {49330#(<= ~counter~0 7)} #84#return; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,055 INFO L272 TraceCheckUtils]: 113: Hoare triple {49330#(<= ~counter~0 7)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,055 INFO L290 TraceCheckUtils]: 114: Hoare triple {49330#(<= ~counter~0 7)} ~cond := #in~cond; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,055 INFO L290 TraceCheckUtils]: 115: Hoare triple {49330#(<= ~counter~0 7)} assume !(0 == ~cond); {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,056 INFO L290 TraceCheckUtils]: 116: Hoare triple {49330#(<= ~counter~0 7)} assume true; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,056 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {49330#(<= ~counter~0 7)} {49330#(<= ~counter~0 7)} #86#return; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,056 INFO L290 TraceCheckUtils]: 118: Hoare triple {49330#(<= ~counter~0 7)} 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); {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,057 INFO L290 TraceCheckUtils]: 119: Hoare triple {49330#(<= ~counter~0 7)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49330#(<= ~counter~0 7)} is VALID [2022-04-27 13:47:46,057 INFO L290 TraceCheckUtils]: 120: Hoare triple {49330#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,058 INFO L290 TraceCheckUtils]: 121: Hoare triple {49373#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,058 INFO L272 TraceCheckUtils]: 122: Hoare triple {49373#(<= ~counter~0 8)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,058 INFO L290 TraceCheckUtils]: 123: Hoare triple {49373#(<= ~counter~0 8)} ~cond := #in~cond; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,059 INFO L290 TraceCheckUtils]: 124: Hoare triple {49373#(<= ~counter~0 8)} assume !(0 == ~cond); {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,059 INFO L290 TraceCheckUtils]: 125: Hoare triple {49373#(<= ~counter~0 8)} assume true; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,059 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {49373#(<= ~counter~0 8)} {49373#(<= ~counter~0 8)} #84#return; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,060 INFO L272 TraceCheckUtils]: 127: Hoare triple {49373#(<= ~counter~0 8)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,060 INFO L290 TraceCheckUtils]: 128: Hoare triple {49373#(<= ~counter~0 8)} ~cond := #in~cond; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,060 INFO L290 TraceCheckUtils]: 129: Hoare triple {49373#(<= ~counter~0 8)} assume !(0 == ~cond); {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,061 INFO L290 TraceCheckUtils]: 130: Hoare triple {49373#(<= ~counter~0 8)} assume true; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,061 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {49373#(<= ~counter~0 8)} {49373#(<= ~counter~0 8)} #86#return; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,061 INFO L290 TraceCheckUtils]: 132: Hoare triple {49373#(<= ~counter~0 8)} 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); {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,062 INFO L290 TraceCheckUtils]: 133: Hoare triple {49373#(<= ~counter~0 8)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49373#(<= ~counter~0 8)} is VALID [2022-04-27 13:47:46,062 INFO L290 TraceCheckUtils]: 134: Hoare triple {49373#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,062 INFO L290 TraceCheckUtils]: 135: Hoare triple {49416#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,063 INFO L272 TraceCheckUtils]: 136: Hoare triple {49416#(<= ~counter~0 9)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,063 INFO L290 TraceCheckUtils]: 137: Hoare triple {49416#(<= ~counter~0 9)} ~cond := #in~cond; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,064 INFO L290 TraceCheckUtils]: 138: Hoare triple {49416#(<= ~counter~0 9)} assume !(0 == ~cond); {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,064 INFO L290 TraceCheckUtils]: 139: Hoare triple {49416#(<= ~counter~0 9)} assume true; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,064 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {49416#(<= ~counter~0 9)} {49416#(<= ~counter~0 9)} #84#return; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,065 INFO L272 TraceCheckUtils]: 141: Hoare triple {49416#(<= ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,065 INFO L290 TraceCheckUtils]: 142: Hoare triple {49416#(<= ~counter~0 9)} ~cond := #in~cond; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,065 INFO L290 TraceCheckUtils]: 143: Hoare triple {49416#(<= ~counter~0 9)} assume !(0 == ~cond); {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,065 INFO L290 TraceCheckUtils]: 144: Hoare triple {49416#(<= ~counter~0 9)} assume true; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,066 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {49416#(<= ~counter~0 9)} {49416#(<= ~counter~0 9)} #86#return; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,066 INFO L290 TraceCheckUtils]: 146: Hoare triple {49416#(<= ~counter~0 9)} 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); {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,066 INFO L290 TraceCheckUtils]: 147: Hoare triple {49416#(<= ~counter~0 9)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49416#(<= ~counter~0 9)} is VALID [2022-04-27 13:47:46,067 INFO L290 TraceCheckUtils]: 148: Hoare triple {49416#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,067 INFO L290 TraceCheckUtils]: 149: Hoare triple {49459#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,068 INFO L272 TraceCheckUtils]: 150: Hoare triple {49459#(<= ~counter~0 10)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,068 INFO L290 TraceCheckUtils]: 151: Hoare triple {49459#(<= ~counter~0 10)} ~cond := #in~cond; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,068 INFO L290 TraceCheckUtils]: 152: Hoare triple {49459#(<= ~counter~0 10)} assume !(0 == ~cond); {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,069 INFO L290 TraceCheckUtils]: 153: Hoare triple {49459#(<= ~counter~0 10)} assume true; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,069 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {49459#(<= ~counter~0 10)} {49459#(<= ~counter~0 10)} #84#return; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,070 INFO L272 TraceCheckUtils]: 155: Hoare triple {49459#(<= ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,070 INFO L290 TraceCheckUtils]: 156: Hoare triple {49459#(<= ~counter~0 10)} ~cond := #in~cond; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,070 INFO L290 TraceCheckUtils]: 157: Hoare triple {49459#(<= ~counter~0 10)} assume !(0 == ~cond); {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,070 INFO L290 TraceCheckUtils]: 158: Hoare triple {49459#(<= ~counter~0 10)} assume true; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,071 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {49459#(<= ~counter~0 10)} {49459#(<= ~counter~0 10)} #86#return; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,071 INFO L290 TraceCheckUtils]: 160: Hoare triple {49459#(<= ~counter~0 10)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,071 INFO L290 TraceCheckUtils]: 161: Hoare triple {49459#(<= ~counter~0 10)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49459#(<= ~counter~0 10)} is VALID [2022-04-27 13:47:46,072 INFO L290 TraceCheckUtils]: 162: Hoare triple {49459#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,072 INFO L290 TraceCheckUtils]: 163: Hoare triple {49502#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,073 INFO L272 TraceCheckUtils]: 164: Hoare triple {49502#(<= ~counter~0 11)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,073 INFO L290 TraceCheckUtils]: 165: Hoare triple {49502#(<= ~counter~0 11)} ~cond := #in~cond; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,073 INFO L290 TraceCheckUtils]: 166: Hoare triple {49502#(<= ~counter~0 11)} assume !(0 == ~cond); {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,074 INFO L290 TraceCheckUtils]: 167: Hoare triple {49502#(<= ~counter~0 11)} assume true; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,074 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {49502#(<= ~counter~0 11)} {49502#(<= ~counter~0 11)} #84#return; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,075 INFO L272 TraceCheckUtils]: 169: Hoare triple {49502#(<= ~counter~0 11)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,075 INFO L290 TraceCheckUtils]: 170: Hoare triple {49502#(<= ~counter~0 11)} ~cond := #in~cond; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,075 INFO L290 TraceCheckUtils]: 171: Hoare triple {49502#(<= ~counter~0 11)} assume !(0 == ~cond); {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,075 INFO L290 TraceCheckUtils]: 172: Hoare triple {49502#(<= ~counter~0 11)} assume true; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,076 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {49502#(<= ~counter~0 11)} {49502#(<= ~counter~0 11)} #86#return; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,076 INFO L290 TraceCheckUtils]: 174: Hoare triple {49502#(<= ~counter~0 11)} 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); {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,076 INFO L290 TraceCheckUtils]: 175: Hoare triple {49502#(<= ~counter~0 11)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49502#(<= ~counter~0 11)} is VALID [2022-04-27 13:47:46,077 INFO L290 TraceCheckUtils]: 176: Hoare triple {49502#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,077 INFO L290 TraceCheckUtils]: 177: Hoare triple {49545#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,078 INFO L272 TraceCheckUtils]: 178: Hoare triple {49545#(<= ~counter~0 12)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,078 INFO L290 TraceCheckUtils]: 179: Hoare triple {49545#(<= ~counter~0 12)} ~cond := #in~cond; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,078 INFO L290 TraceCheckUtils]: 180: Hoare triple {49545#(<= ~counter~0 12)} assume !(0 == ~cond); {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,078 INFO L290 TraceCheckUtils]: 181: Hoare triple {49545#(<= ~counter~0 12)} assume true; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,079 INFO L284 TraceCheckUtils]: 182: Hoare quadruple {49545#(<= ~counter~0 12)} {49545#(<= ~counter~0 12)} #84#return; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,079 INFO L272 TraceCheckUtils]: 183: Hoare triple {49545#(<= ~counter~0 12)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,080 INFO L290 TraceCheckUtils]: 184: Hoare triple {49545#(<= ~counter~0 12)} ~cond := #in~cond; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,080 INFO L290 TraceCheckUtils]: 185: Hoare triple {49545#(<= ~counter~0 12)} assume !(0 == ~cond); {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,080 INFO L290 TraceCheckUtils]: 186: Hoare triple {49545#(<= ~counter~0 12)} assume true; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,081 INFO L284 TraceCheckUtils]: 187: Hoare quadruple {49545#(<= ~counter~0 12)} {49545#(<= ~counter~0 12)} #86#return; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,081 INFO L290 TraceCheckUtils]: 188: Hoare triple {49545#(<= ~counter~0 12)} 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); {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,081 INFO L290 TraceCheckUtils]: 189: Hoare triple {49545#(<= ~counter~0 12)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49545#(<= ~counter~0 12)} is VALID [2022-04-27 13:47:46,082 INFO L290 TraceCheckUtils]: 190: Hoare triple {49545#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,082 INFO L290 TraceCheckUtils]: 191: Hoare triple {49588#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,082 INFO L272 TraceCheckUtils]: 192: Hoare triple {49588#(<= ~counter~0 13)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,083 INFO L290 TraceCheckUtils]: 193: Hoare triple {49588#(<= ~counter~0 13)} ~cond := #in~cond; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,083 INFO L290 TraceCheckUtils]: 194: Hoare triple {49588#(<= ~counter~0 13)} assume !(0 == ~cond); {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,083 INFO L290 TraceCheckUtils]: 195: Hoare triple {49588#(<= ~counter~0 13)} assume true; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,084 INFO L284 TraceCheckUtils]: 196: Hoare quadruple {49588#(<= ~counter~0 13)} {49588#(<= ~counter~0 13)} #84#return; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,084 INFO L272 TraceCheckUtils]: 197: Hoare triple {49588#(<= ~counter~0 13)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,084 INFO L290 TraceCheckUtils]: 198: Hoare triple {49588#(<= ~counter~0 13)} ~cond := #in~cond; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,085 INFO L290 TraceCheckUtils]: 199: Hoare triple {49588#(<= ~counter~0 13)} assume !(0 == ~cond); {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,085 INFO L290 TraceCheckUtils]: 200: Hoare triple {49588#(<= ~counter~0 13)} assume true; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,085 INFO L284 TraceCheckUtils]: 201: Hoare quadruple {49588#(<= ~counter~0 13)} {49588#(<= ~counter~0 13)} #86#return; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,086 INFO L290 TraceCheckUtils]: 202: Hoare triple {49588#(<= ~counter~0 13)} 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); {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,086 INFO L290 TraceCheckUtils]: 203: Hoare triple {49588#(<= ~counter~0 13)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49588#(<= ~counter~0 13)} is VALID [2022-04-27 13:47:46,087 INFO L290 TraceCheckUtils]: 204: Hoare triple {49588#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,087 INFO L290 TraceCheckUtils]: 205: Hoare triple {49631#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,087 INFO L272 TraceCheckUtils]: 206: Hoare triple {49631#(<= ~counter~0 14)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,088 INFO L290 TraceCheckUtils]: 207: Hoare triple {49631#(<= ~counter~0 14)} ~cond := #in~cond; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,088 INFO L290 TraceCheckUtils]: 208: Hoare triple {49631#(<= ~counter~0 14)} assume !(0 == ~cond); {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,088 INFO L290 TraceCheckUtils]: 209: Hoare triple {49631#(<= ~counter~0 14)} assume true; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,089 INFO L284 TraceCheckUtils]: 210: Hoare quadruple {49631#(<= ~counter~0 14)} {49631#(<= ~counter~0 14)} #84#return; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,089 INFO L272 TraceCheckUtils]: 211: Hoare triple {49631#(<= ~counter~0 14)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,089 INFO L290 TraceCheckUtils]: 212: Hoare triple {49631#(<= ~counter~0 14)} ~cond := #in~cond; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,090 INFO L290 TraceCheckUtils]: 213: Hoare triple {49631#(<= ~counter~0 14)} assume !(0 == ~cond); {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,090 INFO L290 TraceCheckUtils]: 214: Hoare triple {49631#(<= ~counter~0 14)} assume true; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,090 INFO L284 TraceCheckUtils]: 215: Hoare quadruple {49631#(<= ~counter~0 14)} {49631#(<= ~counter~0 14)} #86#return; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,091 INFO L290 TraceCheckUtils]: 216: Hoare triple {49631#(<= ~counter~0 14)} 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); {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,091 INFO L290 TraceCheckUtils]: 217: Hoare triple {49631#(<= ~counter~0 14)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49631#(<= ~counter~0 14)} is VALID [2022-04-27 13:47:46,091 INFO L290 TraceCheckUtils]: 218: Hoare triple {49631#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,092 INFO L290 TraceCheckUtils]: 219: Hoare triple {49674#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,092 INFO L272 TraceCheckUtils]: 220: Hoare triple {49674#(<= ~counter~0 15)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,092 INFO L290 TraceCheckUtils]: 221: Hoare triple {49674#(<= ~counter~0 15)} ~cond := #in~cond; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,093 INFO L290 TraceCheckUtils]: 222: Hoare triple {49674#(<= ~counter~0 15)} assume !(0 == ~cond); {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,093 INFO L290 TraceCheckUtils]: 223: Hoare triple {49674#(<= ~counter~0 15)} assume true; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,093 INFO L284 TraceCheckUtils]: 224: Hoare quadruple {49674#(<= ~counter~0 15)} {49674#(<= ~counter~0 15)} #84#return; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,094 INFO L272 TraceCheckUtils]: 225: Hoare triple {49674#(<= ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,094 INFO L290 TraceCheckUtils]: 226: Hoare triple {49674#(<= ~counter~0 15)} ~cond := #in~cond; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,094 INFO L290 TraceCheckUtils]: 227: Hoare triple {49674#(<= ~counter~0 15)} assume !(0 == ~cond); {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,095 INFO L290 TraceCheckUtils]: 228: Hoare triple {49674#(<= ~counter~0 15)} assume true; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,095 INFO L284 TraceCheckUtils]: 229: Hoare quadruple {49674#(<= ~counter~0 15)} {49674#(<= ~counter~0 15)} #86#return; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,095 INFO L290 TraceCheckUtils]: 230: Hoare triple {49674#(<= ~counter~0 15)} 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); {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,096 INFO L290 TraceCheckUtils]: 231: Hoare triple {49674#(<= ~counter~0 15)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49674#(<= ~counter~0 15)} is VALID [2022-04-27 13:47:46,096 INFO L290 TraceCheckUtils]: 232: Hoare triple {49674#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,096 INFO L290 TraceCheckUtils]: 233: Hoare triple {49717#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,097 INFO L272 TraceCheckUtils]: 234: Hoare triple {49717#(<= ~counter~0 16)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,097 INFO L290 TraceCheckUtils]: 235: Hoare triple {49717#(<= ~counter~0 16)} ~cond := #in~cond; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,097 INFO L290 TraceCheckUtils]: 236: Hoare triple {49717#(<= ~counter~0 16)} assume !(0 == ~cond); {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,098 INFO L290 TraceCheckUtils]: 237: Hoare triple {49717#(<= ~counter~0 16)} assume true; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,098 INFO L284 TraceCheckUtils]: 238: Hoare quadruple {49717#(<= ~counter~0 16)} {49717#(<= ~counter~0 16)} #84#return; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,099 INFO L272 TraceCheckUtils]: 239: Hoare triple {49717#(<= ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,099 INFO L290 TraceCheckUtils]: 240: Hoare triple {49717#(<= ~counter~0 16)} ~cond := #in~cond; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,099 INFO L290 TraceCheckUtils]: 241: Hoare triple {49717#(<= ~counter~0 16)} assume !(0 == ~cond); {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,099 INFO L290 TraceCheckUtils]: 242: Hoare triple {49717#(<= ~counter~0 16)} assume true; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,100 INFO L284 TraceCheckUtils]: 243: Hoare quadruple {49717#(<= ~counter~0 16)} {49717#(<= ~counter~0 16)} #86#return; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,100 INFO L290 TraceCheckUtils]: 244: Hoare triple {49717#(<= ~counter~0 16)} 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); {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,100 INFO L290 TraceCheckUtils]: 245: Hoare triple {49717#(<= ~counter~0 16)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49717#(<= ~counter~0 16)} is VALID [2022-04-27 13:47:46,101 INFO L290 TraceCheckUtils]: 246: Hoare triple {49717#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,101 INFO L290 TraceCheckUtils]: 247: Hoare triple {49760#(<= ~counter~0 17)} assume !!(#t~post6 < 100);havoc #t~post6; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,102 INFO L272 TraceCheckUtils]: 248: Hoare triple {49760#(<= ~counter~0 17)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,102 INFO L290 TraceCheckUtils]: 249: Hoare triple {49760#(<= ~counter~0 17)} ~cond := #in~cond; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,102 INFO L290 TraceCheckUtils]: 250: Hoare triple {49760#(<= ~counter~0 17)} assume !(0 == ~cond); {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,102 INFO L290 TraceCheckUtils]: 251: Hoare triple {49760#(<= ~counter~0 17)} assume true; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,103 INFO L284 TraceCheckUtils]: 252: Hoare quadruple {49760#(<= ~counter~0 17)} {49760#(<= ~counter~0 17)} #84#return; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,103 INFO L272 TraceCheckUtils]: 253: Hoare triple {49760#(<= ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,104 INFO L290 TraceCheckUtils]: 254: Hoare triple {49760#(<= ~counter~0 17)} ~cond := #in~cond; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,104 INFO L290 TraceCheckUtils]: 255: Hoare triple {49760#(<= ~counter~0 17)} assume !(0 == ~cond); {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,104 INFO L290 TraceCheckUtils]: 256: Hoare triple {49760#(<= ~counter~0 17)} assume true; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,105 INFO L284 TraceCheckUtils]: 257: Hoare quadruple {49760#(<= ~counter~0 17)} {49760#(<= ~counter~0 17)} #86#return; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,105 INFO L290 TraceCheckUtils]: 258: Hoare triple {49760#(<= ~counter~0 17)} 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); {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,105 INFO L290 TraceCheckUtils]: 259: Hoare triple {49760#(<= ~counter~0 17)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49760#(<= ~counter~0 17)} is VALID [2022-04-27 13:47:46,106 INFO L290 TraceCheckUtils]: 260: Hoare triple {49760#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,106 INFO L290 TraceCheckUtils]: 261: Hoare triple {49803#(<= ~counter~0 18)} assume !!(#t~post6 < 100);havoc #t~post6; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,107 INFO L272 TraceCheckUtils]: 262: Hoare triple {49803#(<= ~counter~0 18)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,107 INFO L290 TraceCheckUtils]: 263: Hoare triple {49803#(<= ~counter~0 18)} ~cond := #in~cond; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,107 INFO L290 TraceCheckUtils]: 264: Hoare triple {49803#(<= ~counter~0 18)} assume !(0 == ~cond); {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,108 INFO L290 TraceCheckUtils]: 265: Hoare triple {49803#(<= ~counter~0 18)} assume true; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,108 INFO L284 TraceCheckUtils]: 266: Hoare quadruple {49803#(<= ~counter~0 18)} {49803#(<= ~counter~0 18)} #84#return; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,108 INFO L272 TraceCheckUtils]: 267: Hoare triple {49803#(<= ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,109 INFO L290 TraceCheckUtils]: 268: Hoare triple {49803#(<= ~counter~0 18)} ~cond := #in~cond; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,109 INFO L290 TraceCheckUtils]: 269: Hoare triple {49803#(<= ~counter~0 18)} assume !(0 == ~cond); {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,109 INFO L290 TraceCheckUtils]: 270: Hoare triple {49803#(<= ~counter~0 18)} assume true; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,110 INFO L284 TraceCheckUtils]: 271: Hoare quadruple {49803#(<= ~counter~0 18)} {49803#(<= ~counter~0 18)} #86#return; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,110 INFO L290 TraceCheckUtils]: 272: Hoare triple {49803#(<= ~counter~0 18)} 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); {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,110 INFO L290 TraceCheckUtils]: 273: Hoare triple {49803#(<= ~counter~0 18)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49803#(<= ~counter~0 18)} is VALID [2022-04-27 13:47:46,111 INFO L290 TraceCheckUtils]: 274: Hoare triple {49803#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,111 INFO L290 TraceCheckUtils]: 275: Hoare triple {49846#(<= ~counter~0 19)} assume !!(#t~post6 < 100);havoc #t~post6; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,111 INFO L272 TraceCheckUtils]: 276: Hoare triple {49846#(<= ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,112 INFO L290 TraceCheckUtils]: 277: Hoare triple {49846#(<= ~counter~0 19)} ~cond := #in~cond; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,112 INFO L290 TraceCheckUtils]: 278: Hoare triple {49846#(<= ~counter~0 19)} assume !(0 == ~cond); {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,112 INFO L290 TraceCheckUtils]: 279: Hoare triple {49846#(<= ~counter~0 19)} assume true; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,113 INFO L284 TraceCheckUtils]: 280: Hoare quadruple {49846#(<= ~counter~0 19)} {49846#(<= ~counter~0 19)} #84#return; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,113 INFO L272 TraceCheckUtils]: 281: Hoare triple {49846#(<= ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,113 INFO L290 TraceCheckUtils]: 282: Hoare triple {49846#(<= ~counter~0 19)} ~cond := #in~cond; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,114 INFO L290 TraceCheckUtils]: 283: Hoare triple {49846#(<= ~counter~0 19)} assume !(0 == ~cond); {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,114 INFO L290 TraceCheckUtils]: 284: Hoare triple {49846#(<= ~counter~0 19)} assume true; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,114 INFO L284 TraceCheckUtils]: 285: Hoare quadruple {49846#(<= ~counter~0 19)} {49846#(<= ~counter~0 19)} #86#return; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,115 INFO L290 TraceCheckUtils]: 286: Hoare triple {49846#(<= ~counter~0 19)} 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); {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,115 INFO L290 TraceCheckUtils]: 287: Hoare triple {49846#(<= ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49846#(<= ~counter~0 19)} is VALID [2022-04-27 13:47:46,115 INFO L290 TraceCheckUtils]: 288: Hoare triple {49846#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,116 INFO L290 TraceCheckUtils]: 289: Hoare triple {49889#(<= ~counter~0 20)} assume !!(#t~post6 < 100);havoc #t~post6; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,116 INFO L272 TraceCheckUtils]: 290: Hoare triple {49889#(<= ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,116 INFO L290 TraceCheckUtils]: 291: Hoare triple {49889#(<= ~counter~0 20)} ~cond := #in~cond; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,117 INFO L290 TraceCheckUtils]: 292: Hoare triple {49889#(<= ~counter~0 20)} assume !(0 == ~cond); {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,117 INFO L290 TraceCheckUtils]: 293: Hoare triple {49889#(<= ~counter~0 20)} assume true; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,118 INFO L284 TraceCheckUtils]: 294: Hoare quadruple {49889#(<= ~counter~0 20)} {49889#(<= ~counter~0 20)} #84#return; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,118 INFO L272 TraceCheckUtils]: 295: Hoare triple {49889#(<= ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,118 INFO L290 TraceCheckUtils]: 296: Hoare triple {49889#(<= ~counter~0 20)} ~cond := #in~cond; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,118 INFO L290 TraceCheckUtils]: 297: Hoare triple {49889#(<= ~counter~0 20)} assume !(0 == ~cond); {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,119 INFO L290 TraceCheckUtils]: 298: Hoare triple {49889#(<= ~counter~0 20)} assume true; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,119 INFO L284 TraceCheckUtils]: 299: Hoare quadruple {49889#(<= ~counter~0 20)} {49889#(<= ~counter~0 20)} #86#return; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,119 INFO L290 TraceCheckUtils]: 300: Hoare triple {49889#(<= ~counter~0 20)} 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); {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,120 INFO L290 TraceCheckUtils]: 301: Hoare triple {49889#(<= ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49889#(<= ~counter~0 20)} is VALID [2022-04-27 13:47:46,120 INFO L290 TraceCheckUtils]: 302: Hoare triple {49889#(<= ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,121 INFO L290 TraceCheckUtils]: 303: Hoare triple {49932#(<= ~counter~0 21)} assume !!(#t~post6 < 100);havoc #t~post6; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,121 INFO L272 TraceCheckUtils]: 304: Hoare triple {49932#(<= ~counter~0 21)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,121 INFO L290 TraceCheckUtils]: 305: Hoare triple {49932#(<= ~counter~0 21)} ~cond := #in~cond; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,122 INFO L290 TraceCheckUtils]: 306: Hoare triple {49932#(<= ~counter~0 21)} assume !(0 == ~cond); {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,122 INFO L290 TraceCheckUtils]: 307: Hoare triple {49932#(<= ~counter~0 21)} assume true; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,122 INFO L284 TraceCheckUtils]: 308: Hoare quadruple {49932#(<= ~counter~0 21)} {49932#(<= ~counter~0 21)} #84#return; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,123 INFO L272 TraceCheckUtils]: 309: Hoare triple {49932#(<= ~counter~0 21)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,123 INFO L290 TraceCheckUtils]: 310: Hoare triple {49932#(<= ~counter~0 21)} ~cond := #in~cond; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,123 INFO L290 TraceCheckUtils]: 311: Hoare triple {49932#(<= ~counter~0 21)} assume !(0 == ~cond); {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,124 INFO L290 TraceCheckUtils]: 312: Hoare triple {49932#(<= ~counter~0 21)} assume true; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,124 INFO L284 TraceCheckUtils]: 313: Hoare quadruple {49932#(<= ~counter~0 21)} {49932#(<= ~counter~0 21)} #86#return; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,124 INFO L290 TraceCheckUtils]: 314: Hoare triple {49932#(<= ~counter~0 21)} 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); {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,125 INFO L290 TraceCheckUtils]: 315: Hoare triple {49932#(<= ~counter~0 21)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49932#(<= ~counter~0 21)} is VALID [2022-04-27 13:47:46,125 INFO L290 TraceCheckUtils]: 316: Hoare triple {49932#(<= ~counter~0 21)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,125 INFO L290 TraceCheckUtils]: 317: Hoare triple {49975#(<= ~counter~0 22)} assume !!(#t~post6 < 100);havoc #t~post6; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,126 INFO L272 TraceCheckUtils]: 318: Hoare triple {49975#(<= ~counter~0 22)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,126 INFO L290 TraceCheckUtils]: 319: Hoare triple {49975#(<= ~counter~0 22)} ~cond := #in~cond; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,126 INFO L290 TraceCheckUtils]: 320: Hoare triple {49975#(<= ~counter~0 22)} assume !(0 == ~cond); {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,127 INFO L290 TraceCheckUtils]: 321: Hoare triple {49975#(<= ~counter~0 22)} assume true; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,127 INFO L284 TraceCheckUtils]: 322: Hoare quadruple {49975#(<= ~counter~0 22)} {49975#(<= ~counter~0 22)} #84#return; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,127 INFO L272 TraceCheckUtils]: 323: Hoare triple {49975#(<= ~counter~0 22)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,128 INFO L290 TraceCheckUtils]: 324: Hoare triple {49975#(<= ~counter~0 22)} ~cond := #in~cond; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,128 INFO L290 TraceCheckUtils]: 325: Hoare triple {49975#(<= ~counter~0 22)} assume !(0 == ~cond); {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,128 INFO L290 TraceCheckUtils]: 326: Hoare triple {49975#(<= ~counter~0 22)} assume true; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,129 INFO L284 TraceCheckUtils]: 327: Hoare quadruple {49975#(<= ~counter~0 22)} {49975#(<= ~counter~0 22)} #86#return; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,129 INFO L290 TraceCheckUtils]: 328: Hoare triple {49975#(<= ~counter~0 22)} 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); {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,129 INFO L290 TraceCheckUtils]: 329: Hoare triple {49975#(<= ~counter~0 22)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {49975#(<= ~counter~0 22)} is VALID [2022-04-27 13:47:46,130 INFO L290 TraceCheckUtils]: 330: Hoare triple {49975#(<= ~counter~0 22)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,130 INFO L290 TraceCheckUtils]: 331: Hoare triple {50018#(<= ~counter~0 23)} assume !!(#t~post6 < 100);havoc #t~post6; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,130 INFO L272 TraceCheckUtils]: 332: Hoare triple {50018#(<= ~counter~0 23)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,131 INFO L290 TraceCheckUtils]: 333: Hoare triple {50018#(<= ~counter~0 23)} ~cond := #in~cond; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,131 INFO L290 TraceCheckUtils]: 334: Hoare triple {50018#(<= ~counter~0 23)} assume !(0 == ~cond); {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,131 INFO L290 TraceCheckUtils]: 335: Hoare triple {50018#(<= ~counter~0 23)} assume true; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,132 INFO L284 TraceCheckUtils]: 336: Hoare quadruple {50018#(<= ~counter~0 23)} {50018#(<= ~counter~0 23)} #84#return; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,132 INFO L272 TraceCheckUtils]: 337: Hoare triple {50018#(<= ~counter~0 23)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,132 INFO L290 TraceCheckUtils]: 338: Hoare triple {50018#(<= ~counter~0 23)} ~cond := #in~cond; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,133 INFO L290 TraceCheckUtils]: 339: Hoare triple {50018#(<= ~counter~0 23)} assume !(0 == ~cond); {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,133 INFO L290 TraceCheckUtils]: 340: Hoare triple {50018#(<= ~counter~0 23)} assume true; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,133 INFO L284 TraceCheckUtils]: 341: Hoare quadruple {50018#(<= ~counter~0 23)} {50018#(<= ~counter~0 23)} #86#return; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,134 INFO L290 TraceCheckUtils]: 342: Hoare triple {50018#(<= ~counter~0 23)} 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); {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,134 INFO L290 TraceCheckUtils]: 343: Hoare triple {50018#(<= ~counter~0 23)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50018#(<= ~counter~0 23)} is VALID [2022-04-27 13:47:46,134 INFO L290 TraceCheckUtils]: 344: Hoare triple {50018#(<= ~counter~0 23)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,135 INFO L290 TraceCheckUtils]: 345: Hoare triple {50061#(<= ~counter~0 24)} assume !!(#t~post6 < 100);havoc #t~post6; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,135 INFO L272 TraceCheckUtils]: 346: Hoare triple {50061#(<= ~counter~0 24)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,135 INFO L290 TraceCheckUtils]: 347: Hoare triple {50061#(<= ~counter~0 24)} ~cond := #in~cond; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,136 INFO L290 TraceCheckUtils]: 348: Hoare triple {50061#(<= ~counter~0 24)} assume !(0 == ~cond); {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,136 INFO L290 TraceCheckUtils]: 349: Hoare triple {50061#(<= ~counter~0 24)} assume true; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,136 INFO L284 TraceCheckUtils]: 350: Hoare quadruple {50061#(<= ~counter~0 24)} {50061#(<= ~counter~0 24)} #84#return; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,137 INFO L272 TraceCheckUtils]: 351: Hoare triple {50061#(<= ~counter~0 24)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,137 INFO L290 TraceCheckUtils]: 352: Hoare triple {50061#(<= ~counter~0 24)} ~cond := #in~cond; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,137 INFO L290 TraceCheckUtils]: 353: Hoare triple {50061#(<= ~counter~0 24)} assume !(0 == ~cond); {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,138 INFO L290 TraceCheckUtils]: 354: Hoare triple {50061#(<= ~counter~0 24)} assume true; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,138 INFO L284 TraceCheckUtils]: 355: Hoare quadruple {50061#(<= ~counter~0 24)} {50061#(<= ~counter~0 24)} #86#return; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,138 INFO L290 TraceCheckUtils]: 356: Hoare triple {50061#(<= ~counter~0 24)} 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); {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,139 INFO L290 TraceCheckUtils]: 357: Hoare triple {50061#(<= ~counter~0 24)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50061#(<= ~counter~0 24)} is VALID [2022-04-27 13:47:46,139 INFO L290 TraceCheckUtils]: 358: Hoare triple {50061#(<= ~counter~0 24)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,139 INFO L290 TraceCheckUtils]: 359: Hoare triple {50104#(<= ~counter~0 25)} assume !!(#t~post6 < 100);havoc #t~post6; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,140 INFO L272 TraceCheckUtils]: 360: Hoare triple {50104#(<= ~counter~0 25)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,140 INFO L290 TraceCheckUtils]: 361: Hoare triple {50104#(<= ~counter~0 25)} ~cond := #in~cond; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,140 INFO L290 TraceCheckUtils]: 362: Hoare triple {50104#(<= ~counter~0 25)} assume !(0 == ~cond); {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,141 INFO L290 TraceCheckUtils]: 363: Hoare triple {50104#(<= ~counter~0 25)} assume true; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,141 INFO L284 TraceCheckUtils]: 364: Hoare quadruple {50104#(<= ~counter~0 25)} {50104#(<= ~counter~0 25)} #84#return; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,142 INFO L272 TraceCheckUtils]: 365: Hoare triple {50104#(<= ~counter~0 25)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,142 INFO L290 TraceCheckUtils]: 366: Hoare triple {50104#(<= ~counter~0 25)} ~cond := #in~cond; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,142 INFO L290 TraceCheckUtils]: 367: Hoare triple {50104#(<= ~counter~0 25)} assume !(0 == ~cond); {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,142 INFO L290 TraceCheckUtils]: 368: Hoare triple {50104#(<= ~counter~0 25)} assume true; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,143 INFO L284 TraceCheckUtils]: 369: Hoare quadruple {50104#(<= ~counter~0 25)} {50104#(<= ~counter~0 25)} #86#return; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,143 INFO L290 TraceCheckUtils]: 370: Hoare triple {50104#(<= ~counter~0 25)} 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); {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,143 INFO L290 TraceCheckUtils]: 371: Hoare triple {50104#(<= ~counter~0 25)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50104#(<= ~counter~0 25)} is VALID [2022-04-27 13:47:46,144 INFO L290 TraceCheckUtils]: 372: Hoare triple {50104#(<= ~counter~0 25)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,144 INFO L290 TraceCheckUtils]: 373: Hoare triple {50147#(<= ~counter~0 26)} assume !!(#t~post6 < 100);havoc #t~post6; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,144 INFO L272 TraceCheckUtils]: 374: Hoare triple {50147#(<= ~counter~0 26)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,145 INFO L290 TraceCheckUtils]: 375: Hoare triple {50147#(<= ~counter~0 26)} ~cond := #in~cond; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,145 INFO L290 TraceCheckUtils]: 376: Hoare triple {50147#(<= ~counter~0 26)} assume !(0 == ~cond); {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,145 INFO L290 TraceCheckUtils]: 377: Hoare triple {50147#(<= ~counter~0 26)} assume true; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,146 INFO L284 TraceCheckUtils]: 378: Hoare quadruple {50147#(<= ~counter~0 26)} {50147#(<= ~counter~0 26)} #84#return; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,146 INFO L272 TraceCheckUtils]: 379: Hoare triple {50147#(<= ~counter~0 26)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,146 INFO L290 TraceCheckUtils]: 380: Hoare triple {50147#(<= ~counter~0 26)} ~cond := #in~cond; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,147 INFO L290 TraceCheckUtils]: 381: Hoare triple {50147#(<= ~counter~0 26)} assume !(0 == ~cond); {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,147 INFO L290 TraceCheckUtils]: 382: Hoare triple {50147#(<= ~counter~0 26)} assume true; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,147 INFO L284 TraceCheckUtils]: 383: Hoare quadruple {50147#(<= ~counter~0 26)} {50147#(<= ~counter~0 26)} #86#return; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,148 INFO L290 TraceCheckUtils]: 384: Hoare triple {50147#(<= ~counter~0 26)} 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); {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,148 INFO L290 TraceCheckUtils]: 385: Hoare triple {50147#(<= ~counter~0 26)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50147#(<= ~counter~0 26)} is VALID [2022-04-27 13:47:46,148 INFO L290 TraceCheckUtils]: 386: Hoare triple {50147#(<= ~counter~0 26)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,149 INFO L290 TraceCheckUtils]: 387: Hoare triple {50190#(<= ~counter~0 27)} assume !!(#t~post6 < 100);havoc #t~post6; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,149 INFO L272 TraceCheckUtils]: 388: Hoare triple {50190#(<= ~counter~0 27)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,149 INFO L290 TraceCheckUtils]: 389: Hoare triple {50190#(<= ~counter~0 27)} ~cond := #in~cond; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,150 INFO L290 TraceCheckUtils]: 390: Hoare triple {50190#(<= ~counter~0 27)} assume !(0 == ~cond); {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,150 INFO L290 TraceCheckUtils]: 391: Hoare triple {50190#(<= ~counter~0 27)} assume true; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,150 INFO L284 TraceCheckUtils]: 392: Hoare quadruple {50190#(<= ~counter~0 27)} {50190#(<= ~counter~0 27)} #84#return; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,151 INFO L272 TraceCheckUtils]: 393: Hoare triple {50190#(<= ~counter~0 27)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,151 INFO L290 TraceCheckUtils]: 394: Hoare triple {50190#(<= ~counter~0 27)} ~cond := #in~cond; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,151 INFO L290 TraceCheckUtils]: 395: Hoare triple {50190#(<= ~counter~0 27)} assume !(0 == ~cond); {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,152 INFO L290 TraceCheckUtils]: 396: Hoare triple {50190#(<= ~counter~0 27)} assume true; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,152 INFO L284 TraceCheckUtils]: 397: Hoare quadruple {50190#(<= ~counter~0 27)} {50190#(<= ~counter~0 27)} #86#return; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,152 INFO L290 TraceCheckUtils]: 398: Hoare triple {50190#(<= ~counter~0 27)} 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); {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,153 INFO L290 TraceCheckUtils]: 399: Hoare triple {50190#(<= ~counter~0 27)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50190#(<= ~counter~0 27)} is VALID [2022-04-27 13:47:46,153 INFO L290 TraceCheckUtils]: 400: Hoare triple {50190#(<= ~counter~0 27)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,154 INFO L290 TraceCheckUtils]: 401: Hoare triple {50233#(<= ~counter~0 28)} assume !!(#t~post6 < 100);havoc #t~post6; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,154 INFO L272 TraceCheckUtils]: 402: Hoare triple {50233#(<= ~counter~0 28)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,154 INFO L290 TraceCheckUtils]: 403: Hoare triple {50233#(<= ~counter~0 28)} ~cond := #in~cond; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,155 INFO L290 TraceCheckUtils]: 404: Hoare triple {50233#(<= ~counter~0 28)} assume !(0 == ~cond); {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,155 INFO L290 TraceCheckUtils]: 405: Hoare triple {50233#(<= ~counter~0 28)} assume true; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,155 INFO L284 TraceCheckUtils]: 406: Hoare quadruple {50233#(<= ~counter~0 28)} {50233#(<= ~counter~0 28)} #84#return; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,156 INFO L272 TraceCheckUtils]: 407: Hoare triple {50233#(<= ~counter~0 28)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,156 INFO L290 TraceCheckUtils]: 408: Hoare triple {50233#(<= ~counter~0 28)} ~cond := #in~cond; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,156 INFO L290 TraceCheckUtils]: 409: Hoare triple {50233#(<= ~counter~0 28)} assume !(0 == ~cond); {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,157 INFO L290 TraceCheckUtils]: 410: Hoare triple {50233#(<= ~counter~0 28)} assume true; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,157 INFO L284 TraceCheckUtils]: 411: Hoare quadruple {50233#(<= ~counter~0 28)} {50233#(<= ~counter~0 28)} #86#return; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,157 INFO L290 TraceCheckUtils]: 412: Hoare triple {50233#(<= ~counter~0 28)} 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); {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,158 INFO L290 TraceCheckUtils]: 413: Hoare triple {50233#(<= ~counter~0 28)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50233#(<= ~counter~0 28)} is VALID [2022-04-27 13:47:46,158 INFO L290 TraceCheckUtils]: 414: Hoare triple {50233#(<= ~counter~0 28)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,158 INFO L290 TraceCheckUtils]: 415: Hoare triple {50276#(<= ~counter~0 29)} assume !!(#t~post6 < 100);havoc #t~post6; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,159 INFO L272 TraceCheckUtils]: 416: Hoare triple {50276#(<= ~counter~0 29)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,159 INFO L290 TraceCheckUtils]: 417: Hoare triple {50276#(<= ~counter~0 29)} ~cond := #in~cond; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,159 INFO L290 TraceCheckUtils]: 418: Hoare triple {50276#(<= ~counter~0 29)} assume !(0 == ~cond); {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,160 INFO L290 TraceCheckUtils]: 419: Hoare triple {50276#(<= ~counter~0 29)} assume true; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,160 INFO L284 TraceCheckUtils]: 420: Hoare quadruple {50276#(<= ~counter~0 29)} {50276#(<= ~counter~0 29)} #84#return; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,161 INFO L272 TraceCheckUtils]: 421: Hoare triple {50276#(<= ~counter~0 29)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,161 INFO L290 TraceCheckUtils]: 422: Hoare triple {50276#(<= ~counter~0 29)} ~cond := #in~cond; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,161 INFO L290 TraceCheckUtils]: 423: Hoare triple {50276#(<= ~counter~0 29)} assume !(0 == ~cond); {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,161 INFO L290 TraceCheckUtils]: 424: Hoare triple {50276#(<= ~counter~0 29)} assume true; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,162 INFO L284 TraceCheckUtils]: 425: Hoare quadruple {50276#(<= ~counter~0 29)} {50276#(<= ~counter~0 29)} #86#return; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,162 INFO L290 TraceCheckUtils]: 426: Hoare triple {50276#(<= ~counter~0 29)} 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); {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,162 INFO L290 TraceCheckUtils]: 427: Hoare triple {50276#(<= ~counter~0 29)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50276#(<= ~counter~0 29)} is VALID [2022-04-27 13:47:46,163 INFO L290 TraceCheckUtils]: 428: Hoare triple {50276#(<= ~counter~0 29)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,163 INFO L290 TraceCheckUtils]: 429: Hoare triple {50319#(<= ~counter~0 30)} assume !!(#t~post6 < 100);havoc #t~post6; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,164 INFO L272 TraceCheckUtils]: 430: Hoare triple {50319#(<= ~counter~0 30)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,164 INFO L290 TraceCheckUtils]: 431: Hoare triple {50319#(<= ~counter~0 30)} ~cond := #in~cond; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,164 INFO L290 TraceCheckUtils]: 432: Hoare triple {50319#(<= ~counter~0 30)} assume !(0 == ~cond); {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,164 INFO L290 TraceCheckUtils]: 433: Hoare triple {50319#(<= ~counter~0 30)} assume true; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,165 INFO L284 TraceCheckUtils]: 434: Hoare quadruple {50319#(<= ~counter~0 30)} {50319#(<= ~counter~0 30)} #84#return; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,165 INFO L272 TraceCheckUtils]: 435: Hoare triple {50319#(<= ~counter~0 30)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,166 INFO L290 TraceCheckUtils]: 436: Hoare triple {50319#(<= ~counter~0 30)} ~cond := #in~cond; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,166 INFO L290 TraceCheckUtils]: 437: Hoare triple {50319#(<= ~counter~0 30)} assume !(0 == ~cond); {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,166 INFO L290 TraceCheckUtils]: 438: Hoare triple {50319#(<= ~counter~0 30)} assume true; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,166 INFO L284 TraceCheckUtils]: 439: Hoare quadruple {50319#(<= ~counter~0 30)} {50319#(<= ~counter~0 30)} #86#return; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,167 INFO L290 TraceCheckUtils]: 440: Hoare triple {50319#(<= ~counter~0 30)} 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); {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,167 INFO L290 TraceCheckUtils]: 441: Hoare triple {50319#(<= ~counter~0 30)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50319#(<= ~counter~0 30)} is VALID [2022-04-27 13:47:46,167 INFO L290 TraceCheckUtils]: 442: Hoare triple {50319#(<= ~counter~0 30)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50362#(<= |main_#t~post6| 30)} is VALID [2022-04-27 13:47:46,168 INFO L290 TraceCheckUtils]: 443: Hoare triple {50362#(<= |main_#t~post6| 30)} assume !(#t~post6 < 100);havoc #t~post6; {49001#false} is VALID [2022-04-27 13:47:46,168 INFO L272 TraceCheckUtils]: 444: Hoare triple {49001#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {49001#false} is VALID [2022-04-27 13:47:46,168 INFO L290 TraceCheckUtils]: 445: Hoare triple {49001#false} ~cond := #in~cond; {49001#false} is VALID [2022-04-27 13:47:46,168 INFO L290 TraceCheckUtils]: 446: Hoare triple {49001#false} assume 0 == ~cond; {49001#false} is VALID [2022-04-27 13:47:46,168 INFO L290 TraceCheckUtils]: 447: Hoare triple {49001#false} assume !false; {49001#false} is VALID [2022-04-27 13:47:46,172 INFO L134 CoverageAnalysis]: Checked inductivity of 10230 backedges. 128 proven. 9950 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-27 13:47:46,172 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:47:48,841 INFO L290 TraceCheckUtils]: 447: Hoare triple {49001#false} assume !false; {49001#false} is VALID [2022-04-27 13:47:48,841 INFO L290 TraceCheckUtils]: 446: Hoare triple {49001#false} assume 0 == ~cond; {49001#false} is VALID [2022-04-27 13:47:48,841 INFO L290 TraceCheckUtils]: 445: Hoare triple {49001#false} ~cond := #in~cond; {49001#false} is VALID [2022-04-27 13:47:48,841 INFO L272 TraceCheckUtils]: 444: Hoare triple {49001#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {49001#false} is VALID [2022-04-27 13:47:48,842 INFO L290 TraceCheckUtils]: 443: Hoare triple {50390#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {49001#false} is VALID [2022-04-27 13:47:48,842 INFO L290 TraceCheckUtils]: 442: Hoare triple {50394#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50390#(< |main_#t~post6| 100)} is VALID [2022-04-27 13:47:48,842 INFO L290 TraceCheckUtils]: 441: Hoare triple {50394#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,842 INFO L290 TraceCheckUtils]: 440: Hoare triple {50394#(< ~counter~0 100)} 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); {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,843 INFO L284 TraceCheckUtils]: 439: Hoare quadruple {49000#true} {50394#(< ~counter~0 100)} #86#return; {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,843 INFO L290 TraceCheckUtils]: 438: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,843 INFO L290 TraceCheckUtils]: 437: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,843 INFO L290 TraceCheckUtils]: 436: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,843 INFO L272 TraceCheckUtils]: 435: Hoare triple {50394#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,844 INFO L284 TraceCheckUtils]: 434: Hoare quadruple {49000#true} {50394#(< ~counter~0 100)} #84#return; {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,844 INFO L290 TraceCheckUtils]: 433: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,844 INFO L290 TraceCheckUtils]: 432: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,844 INFO L290 TraceCheckUtils]: 431: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,844 INFO L272 TraceCheckUtils]: 430: Hoare triple {50394#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,844 INFO L290 TraceCheckUtils]: 429: Hoare triple {50394#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,845 INFO L290 TraceCheckUtils]: 428: Hoare triple {50437#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50394#(< ~counter~0 100)} is VALID [2022-04-27 13:47:48,845 INFO L290 TraceCheckUtils]: 427: Hoare triple {50437#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,846 INFO L290 TraceCheckUtils]: 426: Hoare triple {50437#(< ~counter~0 99)} 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); {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,846 INFO L284 TraceCheckUtils]: 425: Hoare quadruple {49000#true} {50437#(< ~counter~0 99)} #86#return; {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,846 INFO L290 TraceCheckUtils]: 424: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,846 INFO L290 TraceCheckUtils]: 423: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,846 INFO L290 TraceCheckUtils]: 422: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,846 INFO L272 TraceCheckUtils]: 421: Hoare triple {50437#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,847 INFO L284 TraceCheckUtils]: 420: Hoare quadruple {49000#true} {50437#(< ~counter~0 99)} #84#return; {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,847 INFO L290 TraceCheckUtils]: 419: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,848 INFO L290 TraceCheckUtils]: 418: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,848 INFO L290 TraceCheckUtils]: 417: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,848 INFO L272 TraceCheckUtils]: 416: Hoare triple {50437#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,848 INFO L290 TraceCheckUtils]: 415: Hoare triple {50437#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,849 INFO L290 TraceCheckUtils]: 414: Hoare triple {50480#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50437#(< ~counter~0 99)} is VALID [2022-04-27 13:47:48,849 INFO L290 TraceCheckUtils]: 413: Hoare triple {50480#(< ~counter~0 98)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,849 INFO L290 TraceCheckUtils]: 412: Hoare triple {50480#(< ~counter~0 98)} 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); {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,850 INFO L284 TraceCheckUtils]: 411: Hoare quadruple {49000#true} {50480#(< ~counter~0 98)} #86#return; {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 410: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 409: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 408: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L272 TraceCheckUtils]: 407: Hoare triple {50480#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L284 TraceCheckUtils]: 406: Hoare quadruple {49000#true} {50480#(< ~counter~0 98)} #84#return; {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 405: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 404: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,850 INFO L290 TraceCheckUtils]: 403: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,851 INFO L272 TraceCheckUtils]: 402: Hoare triple {50480#(< ~counter~0 98)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,851 INFO L290 TraceCheckUtils]: 401: Hoare triple {50480#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,851 INFO L290 TraceCheckUtils]: 400: Hoare triple {50523#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50480#(< ~counter~0 98)} is VALID [2022-04-27 13:47:48,852 INFO L290 TraceCheckUtils]: 399: Hoare triple {50523#(< ~counter~0 97)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,852 INFO L290 TraceCheckUtils]: 398: Hoare triple {50523#(< ~counter~0 97)} 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); {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,852 INFO L284 TraceCheckUtils]: 397: Hoare quadruple {49000#true} {50523#(< ~counter~0 97)} #86#return; {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,852 INFO L290 TraceCheckUtils]: 396: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,852 INFO L290 TraceCheckUtils]: 395: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,852 INFO L290 TraceCheckUtils]: 394: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,852 INFO L272 TraceCheckUtils]: 393: Hoare triple {50523#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,853 INFO L284 TraceCheckUtils]: 392: Hoare quadruple {49000#true} {50523#(< ~counter~0 97)} #84#return; {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,853 INFO L290 TraceCheckUtils]: 391: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,853 INFO L290 TraceCheckUtils]: 390: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,853 INFO L290 TraceCheckUtils]: 389: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,853 INFO L272 TraceCheckUtils]: 388: Hoare triple {50523#(< ~counter~0 97)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,853 INFO L290 TraceCheckUtils]: 387: Hoare triple {50523#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,854 INFO L290 TraceCheckUtils]: 386: Hoare triple {50566#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50523#(< ~counter~0 97)} is VALID [2022-04-27 13:47:48,854 INFO L290 TraceCheckUtils]: 385: Hoare triple {50566#(< ~counter~0 96)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,854 INFO L290 TraceCheckUtils]: 384: Hoare triple {50566#(< ~counter~0 96)} 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); {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,855 INFO L284 TraceCheckUtils]: 383: Hoare quadruple {49000#true} {50566#(< ~counter~0 96)} #86#return; {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,855 INFO L290 TraceCheckUtils]: 382: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,855 INFO L290 TraceCheckUtils]: 381: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,855 INFO L290 TraceCheckUtils]: 380: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,855 INFO L272 TraceCheckUtils]: 379: Hoare triple {50566#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,856 INFO L284 TraceCheckUtils]: 378: Hoare quadruple {49000#true} {50566#(< ~counter~0 96)} #84#return; {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,856 INFO L290 TraceCheckUtils]: 377: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,856 INFO L290 TraceCheckUtils]: 376: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,856 INFO L290 TraceCheckUtils]: 375: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,856 INFO L272 TraceCheckUtils]: 374: Hoare triple {50566#(< ~counter~0 96)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,856 INFO L290 TraceCheckUtils]: 373: Hoare triple {50566#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,857 INFO L290 TraceCheckUtils]: 372: Hoare triple {50609#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50566#(< ~counter~0 96)} is VALID [2022-04-27 13:47:48,857 INFO L290 TraceCheckUtils]: 371: Hoare triple {50609#(< ~counter~0 95)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,857 INFO L290 TraceCheckUtils]: 370: Hoare triple {50609#(< ~counter~0 95)} 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); {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,858 INFO L284 TraceCheckUtils]: 369: Hoare quadruple {49000#true} {50609#(< ~counter~0 95)} #86#return; {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 368: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 367: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 366: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L272 TraceCheckUtils]: 365: Hoare triple {50609#(< ~counter~0 95)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L284 TraceCheckUtils]: 364: Hoare quadruple {49000#true} {50609#(< ~counter~0 95)} #84#return; {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 363: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 362: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L290 TraceCheckUtils]: 361: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,858 INFO L272 TraceCheckUtils]: 360: Hoare triple {50609#(< ~counter~0 95)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,859 INFO L290 TraceCheckUtils]: 359: Hoare triple {50609#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,859 INFO L290 TraceCheckUtils]: 358: Hoare triple {50652#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50609#(< ~counter~0 95)} is VALID [2022-04-27 13:47:48,859 INFO L290 TraceCheckUtils]: 357: Hoare triple {50652#(< ~counter~0 94)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,860 INFO L290 TraceCheckUtils]: 356: Hoare triple {50652#(< ~counter~0 94)} 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); {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,860 INFO L284 TraceCheckUtils]: 355: Hoare quadruple {49000#true} {50652#(< ~counter~0 94)} #86#return; {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,860 INFO L290 TraceCheckUtils]: 354: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,860 INFO L290 TraceCheckUtils]: 353: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,860 INFO L290 TraceCheckUtils]: 352: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,860 INFO L272 TraceCheckUtils]: 351: Hoare triple {50652#(< ~counter~0 94)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,861 INFO L284 TraceCheckUtils]: 350: Hoare quadruple {49000#true} {50652#(< ~counter~0 94)} #84#return; {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,861 INFO L290 TraceCheckUtils]: 349: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,861 INFO L290 TraceCheckUtils]: 348: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,861 INFO L290 TraceCheckUtils]: 347: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,861 INFO L272 TraceCheckUtils]: 346: Hoare triple {50652#(< ~counter~0 94)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,861 INFO L290 TraceCheckUtils]: 345: Hoare triple {50652#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,862 INFO L290 TraceCheckUtils]: 344: Hoare triple {50695#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50652#(< ~counter~0 94)} is VALID [2022-04-27 13:47:48,862 INFO L290 TraceCheckUtils]: 343: Hoare triple {50695#(< ~counter~0 93)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,862 INFO L290 TraceCheckUtils]: 342: Hoare triple {50695#(< ~counter~0 93)} 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); {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,863 INFO L284 TraceCheckUtils]: 341: Hoare quadruple {49000#true} {50695#(< ~counter~0 93)} #86#return; {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,863 INFO L290 TraceCheckUtils]: 340: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,863 INFO L290 TraceCheckUtils]: 339: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,863 INFO L290 TraceCheckUtils]: 338: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,863 INFO L272 TraceCheckUtils]: 337: Hoare triple {50695#(< ~counter~0 93)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,864 INFO L284 TraceCheckUtils]: 336: Hoare quadruple {49000#true} {50695#(< ~counter~0 93)} #84#return; {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,864 INFO L290 TraceCheckUtils]: 335: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,864 INFO L290 TraceCheckUtils]: 334: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,864 INFO L290 TraceCheckUtils]: 333: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,864 INFO L272 TraceCheckUtils]: 332: Hoare triple {50695#(< ~counter~0 93)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,864 INFO L290 TraceCheckUtils]: 331: Hoare triple {50695#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,865 INFO L290 TraceCheckUtils]: 330: Hoare triple {50738#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50695#(< ~counter~0 93)} is VALID [2022-04-27 13:47:48,865 INFO L290 TraceCheckUtils]: 329: Hoare triple {50738#(< ~counter~0 92)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,865 INFO L290 TraceCheckUtils]: 328: Hoare triple {50738#(< ~counter~0 92)} 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); {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,865 INFO L284 TraceCheckUtils]: 327: Hoare quadruple {49000#true} {50738#(< ~counter~0 92)} #86#return; {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 326: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 325: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 324: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L272 TraceCheckUtils]: 323: Hoare triple {50738#(< ~counter~0 92)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L284 TraceCheckUtils]: 322: Hoare quadruple {49000#true} {50738#(< ~counter~0 92)} #84#return; {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 321: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 320: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L290 TraceCheckUtils]: 319: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,866 INFO L272 TraceCheckUtils]: 318: Hoare triple {50738#(< ~counter~0 92)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,867 INFO L290 TraceCheckUtils]: 317: Hoare triple {50738#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,867 INFO L290 TraceCheckUtils]: 316: Hoare triple {50781#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50738#(< ~counter~0 92)} is VALID [2022-04-27 13:47:48,867 INFO L290 TraceCheckUtils]: 315: Hoare triple {50781#(< ~counter~0 91)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,868 INFO L290 TraceCheckUtils]: 314: Hoare triple {50781#(< ~counter~0 91)} 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); {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,868 INFO L284 TraceCheckUtils]: 313: Hoare quadruple {49000#true} {50781#(< ~counter~0 91)} #86#return; {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,868 INFO L290 TraceCheckUtils]: 312: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,868 INFO L290 TraceCheckUtils]: 311: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,868 INFO L290 TraceCheckUtils]: 310: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,868 INFO L272 TraceCheckUtils]: 309: Hoare triple {50781#(< ~counter~0 91)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,869 INFO L284 TraceCheckUtils]: 308: Hoare quadruple {49000#true} {50781#(< ~counter~0 91)} #84#return; {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,869 INFO L290 TraceCheckUtils]: 307: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,869 INFO L290 TraceCheckUtils]: 306: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,869 INFO L290 TraceCheckUtils]: 305: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,869 INFO L272 TraceCheckUtils]: 304: Hoare triple {50781#(< ~counter~0 91)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,869 INFO L290 TraceCheckUtils]: 303: Hoare triple {50781#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,870 INFO L290 TraceCheckUtils]: 302: Hoare triple {50824#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50781#(< ~counter~0 91)} is VALID [2022-04-27 13:47:48,870 INFO L290 TraceCheckUtils]: 301: Hoare triple {50824#(< ~counter~0 90)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,870 INFO L290 TraceCheckUtils]: 300: Hoare triple {50824#(< ~counter~0 90)} 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); {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,871 INFO L284 TraceCheckUtils]: 299: Hoare quadruple {49000#true} {50824#(< ~counter~0 90)} #86#return; {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,871 INFO L290 TraceCheckUtils]: 298: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,871 INFO L290 TraceCheckUtils]: 297: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,871 INFO L290 TraceCheckUtils]: 296: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,871 INFO L272 TraceCheckUtils]: 295: Hoare triple {50824#(< ~counter~0 90)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,872 INFO L284 TraceCheckUtils]: 294: Hoare quadruple {49000#true} {50824#(< ~counter~0 90)} #84#return; {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,872 INFO L290 TraceCheckUtils]: 293: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,872 INFO L290 TraceCheckUtils]: 292: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,872 INFO L290 TraceCheckUtils]: 291: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,872 INFO L272 TraceCheckUtils]: 290: Hoare triple {50824#(< ~counter~0 90)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,875 INFO L290 TraceCheckUtils]: 289: Hoare triple {50824#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,876 INFO L290 TraceCheckUtils]: 288: Hoare triple {50867#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50824#(< ~counter~0 90)} is VALID [2022-04-27 13:47:48,876 INFO L290 TraceCheckUtils]: 287: Hoare triple {50867#(< ~counter~0 89)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,876 INFO L290 TraceCheckUtils]: 286: Hoare triple {50867#(< ~counter~0 89)} 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); {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,877 INFO L284 TraceCheckUtils]: 285: Hoare quadruple {49000#true} {50867#(< ~counter~0 89)} #86#return; {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,877 INFO L290 TraceCheckUtils]: 284: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,877 INFO L290 TraceCheckUtils]: 283: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,877 INFO L290 TraceCheckUtils]: 282: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,877 INFO L272 TraceCheckUtils]: 281: Hoare triple {50867#(< ~counter~0 89)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,878 INFO L284 TraceCheckUtils]: 280: Hoare quadruple {49000#true} {50867#(< ~counter~0 89)} #84#return; {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,878 INFO L290 TraceCheckUtils]: 279: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,878 INFO L290 TraceCheckUtils]: 278: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,878 INFO L290 TraceCheckUtils]: 277: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,878 INFO L272 TraceCheckUtils]: 276: Hoare triple {50867#(< ~counter~0 89)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,879 INFO L290 TraceCheckUtils]: 275: Hoare triple {50867#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,879 INFO L290 TraceCheckUtils]: 274: Hoare triple {50910#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50867#(< ~counter~0 89)} is VALID [2022-04-27 13:47:48,880 INFO L290 TraceCheckUtils]: 273: Hoare triple {50910#(< ~counter~0 88)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,880 INFO L290 TraceCheckUtils]: 272: Hoare triple {50910#(< ~counter~0 88)} 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); {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,881 INFO L284 TraceCheckUtils]: 271: Hoare quadruple {49000#true} {50910#(< ~counter~0 88)} #86#return; {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,881 INFO L290 TraceCheckUtils]: 270: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,881 INFO L290 TraceCheckUtils]: 269: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,881 INFO L290 TraceCheckUtils]: 268: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,881 INFO L272 TraceCheckUtils]: 267: Hoare triple {50910#(< ~counter~0 88)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,882 INFO L284 TraceCheckUtils]: 266: Hoare quadruple {49000#true} {50910#(< ~counter~0 88)} #84#return; {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,882 INFO L290 TraceCheckUtils]: 265: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,882 INFO L290 TraceCheckUtils]: 264: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,882 INFO L290 TraceCheckUtils]: 263: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,882 INFO L272 TraceCheckUtils]: 262: Hoare triple {50910#(< ~counter~0 88)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,883 INFO L290 TraceCheckUtils]: 261: Hoare triple {50910#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,883 INFO L290 TraceCheckUtils]: 260: Hoare triple {50953#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50910#(< ~counter~0 88)} is VALID [2022-04-27 13:47:48,884 INFO L290 TraceCheckUtils]: 259: Hoare triple {50953#(< ~counter~0 87)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,884 INFO L290 TraceCheckUtils]: 258: Hoare triple {50953#(< ~counter~0 87)} 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); {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,884 INFO L284 TraceCheckUtils]: 257: Hoare quadruple {49000#true} {50953#(< ~counter~0 87)} #86#return; {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,885 INFO L290 TraceCheckUtils]: 256: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,885 INFO L290 TraceCheckUtils]: 255: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,885 INFO L290 TraceCheckUtils]: 254: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,885 INFO L272 TraceCheckUtils]: 253: Hoare triple {50953#(< ~counter~0 87)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,885 INFO L284 TraceCheckUtils]: 252: Hoare quadruple {49000#true} {50953#(< ~counter~0 87)} #84#return; {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,885 INFO L290 TraceCheckUtils]: 251: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,886 INFO L290 TraceCheckUtils]: 250: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,886 INFO L290 TraceCheckUtils]: 249: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,886 INFO L272 TraceCheckUtils]: 248: Hoare triple {50953#(< ~counter~0 87)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,886 INFO L290 TraceCheckUtils]: 247: Hoare triple {50953#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,887 INFO L290 TraceCheckUtils]: 246: Hoare triple {50996#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50953#(< ~counter~0 87)} is VALID [2022-04-27 13:47:48,887 INFO L290 TraceCheckUtils]: 245: Hoare triple {50996#(< ~counter~0 86)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,887 INFO L290 TraceCheckUtils]: 244: Hoare triple {50996#(< ~counter~0 86)} 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); {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,888 INFO L284 TraceCheckUtils]: 243: Hoare quadruple {49000#true} {50996#(< ~counter~0 86)} #86#return; {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,888 INFO L290 TraceCheckUtils]: 242: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,888 INFO L290 TraceCheckUtils]: 241: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,888 INFO L290 TraceCheckUtils]: 240: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,888 INFO L272 TraceCheckUtils]: 239: Hoare triple {50996#(< ~counter~0 86)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,889 INFO L284 TraceCheckUtils]: 238: Hoare quadruple {49000#true} {50996#(< ~counter~0 86)} #84#return; {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,889 INFO L290 TraceCheckUtils]: 237: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,889 INFO L290 TraceCheckUtils]: 236: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,889 INFO L290 TraceCheckUtils]: 235: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,889 INFO L272 TraceCheckUtils]: 234: Hoare triple {50996#(< ~counter~0 86)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,890 INFO L290 TraceCheckUtils]: 233: Hoare triple {50996#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,890 INFO L290 TraceCheckUtils]: 232: Hoare triple {51039#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {50996#(< ~counter~0 86)} is VALID [2022-04-27 13:47:48,891 INFO L290 TraceCheckUtils]: 231: Hoare triple {51039#(< ~counter~0 85)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,891 INFO L290 TraceCheckUtils]: 230: Hoare triple {51039#(< ~counter~0 85)} 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); {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,892 INFO L284 TraceCheckUtils]: 229: Hoare quadruple {49000#true} {51039#(< ~counter~0 85)} #86#return; {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,892 INFO L290 TraceCheckUtils]: 228: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,892 INFO L290 TraceCheckUtils]: 227: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,892 INFO L290 TraceCheckUtils]: 226: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,892 INFO L272 TraceCheckUtils]: 225: Hoare triple {51039#(< ~counter~0 85)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,893 INFO L284 TraceCheckUtils]: 224: Hoare quadruple {49000#true} {51039#(< ~counter~0 85)} #84#return; {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,893 INFO L290 TraceCheckUtils]: 223: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,893 INFO L290 TraceCheckUtils]: 222: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,893 INFO L290 TraceCheckUtils]: 221: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,893 INFO L272 TraceCheckUtils]: 220: Hoare triple {51039#(< ~counter~0 85)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,893 INFO L290 TraceCheckUtils]: 219: Hoare triple {51039#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,894 INFO L290 TraceCheckUtils]: 218: Hoare triple {51082#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51039#(< ~counter~0 85)} is VALID [2022-04-27 13:47:48,894 INFO L290 TraceCheckUtils]: 217: Hoare triple {51082#(< ~counter~0 84)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,895 INFO L290 TraceCheckUtils]: 216: Hoare triple {51082#(< ~counter~0 84)} 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); {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,895 INFO L284 TraceCheckUtils]: 215: Hoare quadruple {49000#true} {51082#(< ~counter~0 84)} #86#return; {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,895 INFO L290 TraceCheckUtils]: 214: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,895 INFO L290 TraceCheckUtils]: 213: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,895 INFO L290 TraceCheckUtils]: 212: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,895 INFO L272 TraceCheckUtils]: 211: Hoare triple {51082#(< ~counter~0 84)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,896 INFO L284 TraceCheckUtils]: 210: Hoare quadruple {49000#true} {51082#(< ~counter~0 84)} #84#return; {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,896 INFO L290 TraceCheckUtils]: 209: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,896 INFO L290 TraceCheckUtils]: 208: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,896 INFO L290 TraceCheckUtils]: 207: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,896 INFO L272 TraceCheckUtils]: 206: Hoare triple {51082#(< ~counter~0 84)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,897 INFO L290 TraceCheckUtils]: 205: Hoare triple {51082#(< ~counter~0 84)} assume !!(#t~post6 < 100);havoc #t~post6; {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,897 INFO L290 TraceCheckUtils]: 204: Hoare triple {51125#(< ~counter~0 83)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51082#(< ~counter~0 84)} is VALID [2022-04-27 13:47:48,898 INFO L290 TraceCheckUtils]: 203: Hoare triple {51125#(< ~counter~0 83)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,898 INFO L290 TraceCheckUtils]: 202: Hoare triple {51125#(< ~counter~0 83)} 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); {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,899 INFO L284 TraceCheckUtils]: 201: Hoare quadruple {49000#true} {51125#(< ~counter~0 83)} #86#return; {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,899 INFO L290 TraceCheckUtils]: 200: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,899 INFO L290 TraceCheckUtils]: 199: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,899 INFO L290 TraceCheckUtils]: 198: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,899 INFO L272 TraceCheckUtils]: 197: Hoare triple {51125#(< ~counter~0 83)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,900 INFO L284 TraceCheckUtils]: 196: Hoare quadruple {49000#true} {51125#(< ~counter~0 83)} #84#return; {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,900 INFO L290 TraceCheckUtils]: 195: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,900 INFO L290 TraceCheckUtils]: 194: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,900 INFO L290 TraceCheckUtils]: 193: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,900 INFO L272 TraceCheckUtils]: 192: Hoare triple {51125#(< ~counter~0 83)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,900 INFO L290 TraceCheckUtils]: 191: Hoare triple {51125#(< ~counter~0 83)} assume !!(#t~post6 < 100);havoc #t~post6; {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,901 INFO L290 TraceCheckUtils]: 190: Hoare triple {51168#(< ~counter~0 82)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51125#(< ~counter~0 83)} is VALID [2022-04-27 13:47:48,901 INFO L290 TraceCheckUtils]: 189: Hoare triple {51168#(< ~counter~0 82)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,901 INFO L290 TraceCheckUtils]: 188: Hoare triple {51168#(< ~counter~0 82)} 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); {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,902 INFO L284 TraceCheckUtils]: 187: Hoare quadruple {49000#true} {51168#(< ~counter~0 82)} #86#return; {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,902 INFO L290 TraceCheckUtils]: 186: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,902 INFO L290 TraceCheckUtils]: 185: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,902 INFO L290 TraceCheckUtils]: 184: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,902 INFO L272 TraceCheckUtils]: 183: Hoare triple {51168#(< ~counter~0 82)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,903 INFO L284 TraceCheckUtils]: 182: Hoare quadruple {49000#true} {51168#(< ~counter~0 82)} #84#return; {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,903 INFO L290 TraceCheckUtils]: 181: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,903 INFO L290 TraceCheckUtils]: 180: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,903 INFO L290 TraceCheckUtils]: 179: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,903 INFO L272 TraceCheckUtils]: 178: Hoare triple {51168#(< ~counter~0 82)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,904 INFO L290 TraceCheckUtils]: 177: Hoare triple {51168#(< ~counter~0 82)} assume !!(#t~post6 < 100);havoc #t~post6; {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,904 INFO L290 TraceCheckUtils]: 176: Hoare triple {51211#(< ~counter~0 81)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51168#(< ~counter~0 82)} is VALID [2022-04-27 13:47:48,905 INFO L290 TraceCheckUtils]: 175: Hoare triple {51211#(< ~counter~0 81)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,905 INFO L290 TraceCheckUtils]: 174: Hoare triple {51211#(< ~counter~0 81)} 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); {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,905 INFO L284 TraceCheckUtils]: 173: Hoare quadruple {49000#true} {51211#(< ~counter~0 81)} #86#return; {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,906 INFO L290 TraceCheckUtils]: 172: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,906 INFO L290 TraceCheckUtils]: 171: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,906 INFO L290 TraceCheckUtils]: 170: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,906 INFO L272 TraceCheckUtils]: 169: Hoare triple {51211#(< ~counter~0 81)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,906 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {49000#true} {51211#(< ~counter~0 81)} #84#return; {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,906 INFO L290 TraceCheckUtils]: 167: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,906 INFO L290 TraceCheckUtils]: 166: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,907 INFO L290 TraceCheckUtils]: 165: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,907 INFO L272 TraceCheckUtils]: 164: Hoare triple {51211#(< ~counter~0 81)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,907 INFO L290 TraceCheckUtils]: 163: Hoare triple {51211#(< ~counter~0 81)} assume !!(#t~post6 < 100);havoc #t~post6; {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,908 INFO L290 TraceCheckUtils]: 162: Hoare triple {51254#(< ~counter~0 80)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51211#(< ~counter~0 81)} is VALID [2022-04-27 13:47:48,908 INFO L290 TraceCheckUtils]: 161: Hoare triple {51254#(< ~counter~0 80)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,908 INFO L290 TraceCheckUtils]: 160: Hoare triple {51254#(< ~counter~0 80)} 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); {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,909 INFO L284 TraceCheckUtils]: 159: Hoare quadruple {49000#true} {51254#(< ~counter~0 80)} #86#return; {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,909 INFO L290 TraceCheckUtils]: 158: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,909 INFO L290 TraceCheckUtils]: 157: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,909 INFO L290 TraceCheckUtils]: 156: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,909 INFO L272 TraceCheckUtils]: 155: Hoare triple {51254#(< ~counter~0 80)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,909 INFO L284 TraceCheckUtils]: 154: Hoare quadruple {49000#true} {51254#(< ~counter~0 80)} #84#return; {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,910 INFO L290 TraceCheckUtils]: 153: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,910 INFO L290 TraceCheckUtils]: 152: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,910 INFO L290 TraceCheckUtils]: 151: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,910 INFO L272 TraceCheckUtils]: 150: Hoare triple {51254#(< ~counter~0 80)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,910 INFO L290 TraceCheckUtils]: 149: Hoare triple {51254#(< ~counter~0 80)} assume !!(#t~post6 < 100);havoc #t~post6; {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,911 INFO L290 TraceCheckUtils]: 148: Hoare triple {51297#(< ~counter~0 79)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51254#(< ~counter~0 80)} is VALID [2022-04-27 13:47:48,911 INFO L290 TraceCheckUtils]: 147: Hoare triple {51297#(< ~counter~0 79)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,911 INFO L290 TraceCheckUtils]: 146: Hoare triple {51297#(< ~counter~0 79)} 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); {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,912 INFO L284 TraceCheckUtils]: 145: Hoare quadruple {49000#true} {51297#(< ~counter~0 79)} #86#return; {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,912 INFO L290 TraceCheckUtils]: 144: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,912 INFO L290 TraceCheckUtils]: 143: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,912 INFO L290 TraceCheckUtils]: 142: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,912 INFO L272 TraceCheckUtils]: 141: Hoare triple {51297#(< ~counter~0 79)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,913 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {49000#true} {51297#(< ~counter~0 79)} #84#return; {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,913 INFO L290 TraceCheckUtils]: 139: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,913 INFO L290 TraceCheckUtils]: 138: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,913 INFO L290 TraceCheckUtils]: 137: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,913 INFO L272 TraceCheckUtils]: 136: Hoare triple {51297#(< ~counter~0 79)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,913 INFO L290 TraceCheckUtils]: 135: Hoare triple {51297#(< ~counter~0 79)} assume !!(#t~post6 < 100);havoc #t~post6; {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,914 INFO L290 TraceCheckUtils]: 134: Hoare triple {51340#(< ~counter~0 78)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51297#(< ~counter~0 79)} is VALID [2022-04-27 13:47:48,914 INFO L290 TraceCheckUtils]: 133: Hoare triple {51340#(< ~counter~0 78)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,914 INFO L290 TraceCheckUtils]: 132: Hoare triple {51340#(< ~counter~0 78)} 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); {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,915 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {49000#true} {51340#(< ~counter~0 78)} #86#return; {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,915 INFO L290 TraceCheckUtils]: 130: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,915 INFO L290 TraceCheckUtils]: 129: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,915 INFO L290 TraceCheckUtils]: 128: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,915 INFO L272 TraceCheckUtils]: 127: Hoare triple {51340#(< ~counter~0 78)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,916 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {49000#true} {51340#(< ~counter~0 78)} #84#return; {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,916 INFO L290 TraceCheckUtils]: 125: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,916 INFO L290 TraceCheckUtils]: 124: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,916 INFO L290 TraceCheckUtils]: 123: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,916 INFO L272 TraceCheckUtils]: 122: Hoare triple {51340#(< ~counter~0 78)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,916 INFO L290 TraceCheckUtils]: 121: Hoare triple {51340#(< ~counter~0 78)} assume !!(#t~post6 < 100);havoc #t~post6; {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,917 INFO L290 TraceCheckUtils]: 120: Hoare triple {51383#(< ~counter~0 77)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51340#(< ~counter~0 78)} is VALID [2022-04-27 13:47:48,917 INFO L290 TraceCheckUtils]: 119: Hoare triple {51383#(< ~counter~0 77)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,918 INFO L290 TraceCheckUtils]: 118: Hoare triple {51383#(< ~counter~0 77)} 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); {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,918 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {49000#true} {51383#(< ~counter~0 77)} #86#return; {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,918 INFO L290 TraceCheckUtils]: 116: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,918 INFO L290 TraceCheckUtils]: 115: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,918 INFO L290 TraceCheckUtils]: 114: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,918 INFO L272 TraceCheckUtils]: 113: Hoare triple {51383#(< ~counter~0 77)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,919 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {49000#true} {51383#(< ~counter~0 77)} #84#return; {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,919 INFO L290 TraceCheckUtils]: 111: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,919 INFO L290 TraceCheckUtils]: 110: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,919 INFO L290 TraceCheckUtils]: 109: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,919 INFO L272 TraceCheckUtils]: 108: Hoare triple {51383#(< ~counter~0 77)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,920 INFO L290 TraceCheckUtils]: 107: Hoare triple {51383#(< ~counter~0 77)} assume !!(#t~post6 < 100);havoc #t~post6; {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,920 INFO L290 TraceCheckUtils]: 106: Hoare triple {51426#(< ~counter~0 76)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51383#(< ~counter~0 77)} is VALID [2022-04-27 13:47:48,921 INFO L290 TraceCheckUtils]: 105: Hoare triple {51426#(< ~counter~0 76)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,921 INFO L290 TraceCheckUtils]: 104: Hoare triple {51426#(< ~counter~0 76)} 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); {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,921 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {49000#true} {51426#(< ~counter~0 76)} #86#return; {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,921 INFO L290 TraceCheckUtils]: 102: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,922 INFO L290 TraceCheckUtils]: 101: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,922 INFO L290 TraceCheckUtils]: 100: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,922 INFO L272 TraceCheckUtils]: 99: Hoare triple {51426#(< ~counter~0 76)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,922 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {49000#true} {51426#(< ~counter~0 76)} #84#return; {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,922 INFO L290 TraceCheckUtils]: 97: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,922 INFO L290 TraceCheckUtils]: 96: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,923 INFO L290 TraceCheckUtils]: 95: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,923 INFO L272 TraceCheckUtils]: 94: Hoare triple {51426#(< ~counter~0 76)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,923 INFO L290 TraceCheckUtils]: 93: Hoare triple {51426#(< ~counter~0 76)} assume !!(#t~post6 < 100);havoc #t~post6; {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,923 INFO L290 TraceCheckUtils]: 92: Hoare triple {51469#(< ~counter~0 75)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51426#(< ~counter~0 76)} is VALID [2022-04-27 13:47:48,924 INFO L290 TraceCheckUtils]: 91: Hoare triple {51469#(< ~counter~0 75)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,924 INFO L290 TraceCheckUtils]: 90: Hoare triple {51469#(< ~counter~0 75)} 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); {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,925 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {49000#true} {51469#(< ~counter~0 75)} #86#return; {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,925 INFO L290 TraceCheckUtils]: 88: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,925 INFO L290 TraceCheckUtils]: 87: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,925 INFO L290 TraceCheckUtils]: 86: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,925 INFO L272 TraceCheckUtils]: 85: Hoare triple {51469#(< ~counter~0 75)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,925 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {49000#true} {51469#(< ~counter~0 75)} #84#return; {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,926 INFO L290 TraceCheckUtils]: 83: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,926 INFO L290 TraceCheckUtils]: 82: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,926 INFO L290 TraceCheckUtils]: 81: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,926 INFO L272 TraceCheckUtils]: 80: Hoare triple {51469#(< ~counter~0 75)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,926 INFO L290 TraceCheckUtils]: 79: Hoare triple {51469#(< ~counter~0 75)} assume !!(#t~post6 < 100);havoc #t~post6; {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,927 INFO L290 TraceCheckUtils]: 78: Hoare triple {51512#(< ~counter~0 74)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51469#(< ~counter~0 75)} is VALID [2022-04-27 13:47:48,927 INFO L290 TraceCheckUtils]: 77: Hoare triple {51512#(< ~counter~0 74)} assume !(~r~0 >= ~d~0); {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,927 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {49000#true} {51512#(< ~counter~0 74)} #82#return; {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,928 INFO L290 TraceCheckUtils]: 75: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,928 INFO L290 TraceCheckUtils]: 74: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,928 INFO L290 TraceCheckUtils]: 73: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,928 INFO L272 TraceCheckUtils]: 72: Hoare triple {51512#(< ~counter~0 74)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,928 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {49000#true} {51512#(< ~counter~0 74)} #80#return; {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L290 TraceCheckUtils]: 68: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L272 TraceCheckUtils]: 67: Hoare triple {51512#(< ~counter~0 74)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {49000#true} {51512#(< ~counter~0 74)} #78#return; {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,929 INFO L290 TraceCheckUtils]: 65: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L290 TraceCheckUtils]: 64: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L290 TraceCheckUtils]: 63: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,929 INFO L272 TraceCheckUtils]: 62: Hoare triple {51512#(< ~counter~0 74)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,930 INFO L290 TraceCheckUtils]: 61: Hoare triple {51512#(< ~counter~0 74)} assume !!(#t~post5 < 100);havoc #t~post5; {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,930 INFO L290 TraceCheckUtils]: 60: Hoare triple {51567#(< ~counter~0 73)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51512#(< ~counter~0 74)} is VALID [2022-04-27 13:47:48,930 INFO L290 TraceCheckUtils]: 59: Hoare triple {51567#(< ~counter~0 73)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,931 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {49000#true} {51567#(< ~counter~0 73)} #82#return; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,931 INFO L290 TraceCheckUtils]: 57: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,931 INFO L290 TraceCheckUtils]: 56: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,931 INFO L290 TraceCheckUtils]: 55: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,931 INFO L272 TraceCheckUtils]: 54: Hoare triple {51567#(< ~counter~0 73)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,932 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {49000#true} {51567#(< ~counter~0 73)} #80#return; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,932 INFO L290 TraceCheckUtils]: 52: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,932 INFO L290 TraceCheckUtils]: 51: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,932 INFO L290 TraceCheckUtils]: 50: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,932 INFO L272 TraceCheckUtils]: 49: Hoare triple {51567#(< ~counter~0 73)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,933 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {49000#true} {51567#(< ~counter~0 73)} #78#return; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,933 INFO L290 TraceCheckUtils]: 47: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,933 INFO L290 TraceCheckUtils]: 46: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,933 INFO L272 TraceCheckUtils]: 44: Hoare triple {51567#(< ~counter~0 73)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,933 INFO L290 TraceCheckUtils]: 43: Hoare triple {51567#(< ~counter~0 73)} assume !!(#t~post5 < 100);havoc #t~post5; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,934 INFO L290 TraceCheckUtils]: 42: Hoare triple {51622#(< ~counter~0 72)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51567#(< ~counter~0 73)} is VALID [2022-04-27 13:47:48,934 INFO L290 TraceCheckUtils]: 41: Hoare triple {51622#(< ~counter~0 72)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,935 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {49000#true} {51622#(< ~counter~0 72)} #82#return; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,935 INFO L290 TraceCheckUtils]: 39: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,935 INFO L290 TraceCheckUtils]: 38: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,935 INFO L290 TraceCheckUtils]: 37: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,935 INFO L272 TraceCheckUtils]: 36: Hoare triple {51622#(< ~counter~0 72)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,935 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {49000#true} {51622#(< ~counter~0 72)} #80#return; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,935 INFO L290 TraceCheckUtils]: 34: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L290 TraceCheckUtils]: 33: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L272 TraceCheckUtils]: 31: Hoare triple {51622#(< ~counter~0 72)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {49000#true} {51622#(< ~counter~0 72)} #78#return; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,936 INFO L272 TraceCheckUtils]: 26: Hoare triple {51622#(< ~counter~0 72)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {51622#(< ~counter~0 72)} assume !!(#t~post5 < 100);havoc #t~post5; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {51677#(< ~counter~0 71)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51622#(< ~counter~0 72)} is VALID [2022-04-27 13:47:48,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {51677#(< ~counter~0 71)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,938 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {49000#true} {51677#(< ~counter~0 71)} #82#return; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,938 INFO L290 TraceCheckUtils]: 19: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,938 INFO L272 TraceCheckUtils]: 18: Hoare triple {51677#(< ~counter~0 71)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,939 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {49000#true} {51677#(< ~counter~0 71)} #80#return; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,939 INFO L272 TraceCheckUtils]: 13: Hoare triple {51677#(< ~counter~0 71)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,940 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {49000#true} {51677#(< ~counter~0 71)} #78#return; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {49000#true} assume true; {49000#true} is VALID [2022-04-27 13:47:48,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {49000#true} assume !(0 == ~cond); {49000#true} is VALID [2022-04-27 13:47:48,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {49000#true} ~cond := #in~cond; {49000#true} is VALID [2022-04-27 13:47:48,940 INFO L272 TraceCheckUtils]: 8: Hoare triple {51677#(< ~counter~0 71)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {49000#true} is VALID [2022-04-27 13:47:48,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {51677#(< ~counter~0 71)} assume !!(#t~post5 < 100);havoc #t~post5; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {51732#(< ~counter~0 70)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {51677#(< ~counter~0 71)} is VALID [2022-04-27 13:47:48,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {51732#(< ~counter~0 70)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {51732#(< ~counter~0 70)} is VALID [2022-04-27 13:47:48,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {51732#(< ~counter~0 70)} call #t~ret7 := main(); {51732#(< ~counter~0 70)} is VALID [2022-04-27 13:47:48,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51732#(< ~counter~0 70)} {49000#true} #92#return; {51732#(< ~counter~0 70)} is VALID [2022-04-27 13:47:48,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {51732#(< ~counter~0 70)} assume true; {51732#(< ~counter~0 70)} is VALID [2022-04-27 13:47:48,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {49000#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);~counter~0 := 0; {51732#(< ~counter~0 70)} is VALID [2022-04-27 13:47:48,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {49000#true} call ULTIMATE.init(); {49000#true} is VALID [2022-04-27 13:47:48,946 INFO L134 CoverageAnalysis]: Checked inductivity of 10230 backedges. 128 proven. 2038 refuted. 0 times theorem prover too weak. 8064 trivial. 0 not checked. [2022-04-27 13:47:48,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:47:48,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [9232693] [2022-04-27 13:47:48,946 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:47:48,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [34760940] [2022-04-27 13:47:48,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [34760940] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:47:48,947 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:47:48,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 34] total 66 [2022-04-27 13:47:48,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1800258846] [2022-04-27 13:47:48,947 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:47:48,949 INFO L78 Accepts]: Start accepts. Automaton has has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) Word has length 448 [2022-04-27 13:47:48,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:47:48,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) [2022-04-27 13:47:49,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 600 edges. 600 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:47:49,515 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 66 states [2022-04-27 13:47:49,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:47:49,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 66 interpolants. [2022-04-27 13:47:49,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2021, Invalid=2269, Unknown=0, NotChecked=0, Total=4290 [2022-04-27 13:47:49,518 INFO L87 Difference]: Start difference. First operand 1275 states and 1452 transitions. Second operand has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) [2022-04-27 13:48:02,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:48:02,080 INFO L93 Difference]: Finished difference Result 2761 states and 3258 transitions. [2022-04-27 13:48:02,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 122 states. [2022-04-27 13:48:02,080 INFO L78 Accepts]: Start accepts. Automaton has has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) Word has length 448 [2022-04-27 13:48:02,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:48:02,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) [2022-04-27 13:48:02,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 1432 transitions. [2022-04-27 13:48:02,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) [2022-04-27 13:48:02,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 1432 transitions. [2022-04-27 13:48:02,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 122 states and 1432 transitions. [2022-04-27 13:48:03,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1432 edges. 1432 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:48:03,847 INFO L225 Difference]: With dead ends: 2761 [2022-04-27 13:48:03,847 INFO L226 Difference]: Without dead ends: 2748 [2022-04-27 13:48:03,850 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 952 GetRequests, 831 SyntacticMatches, 0 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2122 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=5468, Invalid=9538, Unknown=0, NotChecked=0, Total=15006 [2022-04-27 13:48:03,851 INFO L413 NwaCegarLoop]: 329 mSDtfsCounter, 2466 mSDsluCounter, 1017 mSDsCounter, 0 mSdLazyCounter, 2005 mSolverCounterSat, 2005 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2466 SdHoareTripleChecker+Valid, 1346 SdHoareTripleChecker+Invalid, 4010 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2005 IncrementalHoareTripleChecker+Valid, 2005 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:48:03,851 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2466 Valid, 1346 Invalid, 4010 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2005 Valid, 2005 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-27 13:48:03,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2748 states. [2022-04-27 13:48:06,095 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2748 to 2747. [2022-04-27 13:48:06,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:48:06,099 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2748 states. Second operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) [2022-04-27 13:48:06,102 INFO L74 IsIncluded]: Start isIncluded. First operand 2748 states. Second operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) [2022-04-27 13:48:06,104 INFO L87 Difference]: Start difference. First operand 2748 states. Second operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) [2022-04-27 13:48:06,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:48:06,389 INFO L93 Difference]: Finished difference Result 2748 states and 3149 transitions. [2022-04-27 13:48:06,389 INFO L276 IsEmpty]: Start isEmpty. Operand 2748 states and 3149 transitions. [2022-04-27 13:48:06,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:48:06,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:48:06,401 INFO L74 IsIncluded]: Start isIncluded. First operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) Second operand 2748 states. [2022-04-27 13:48:06,404 INFO L87 Difference]: Start difference. First operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) Second operand 2748 states. [2022-04-27 13:48:06,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:48:06,707 INFO L93 Difference]: Finished difference Result 2748 states and 3149 transitions. [2022-04-27 13:48:06,707 INFO L276 IsEmpty]: Start isEmpty. Operand 2748 states and 3149 transitions. [2022-04-27 13:48:06,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:48:06,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:48:06,714 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:48:06,714 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:48:06,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2747 states, 1850 states have (on average 1.1243243243243244) internal successors, (2080), 1909 states have internal predecessors, (2080), 535 states have call successors, (535), 362 states have call predecessors, (535), 361 states have return successors, (533), 475 states have call predecessors, (533), 533 states have call successors, (533) [2022-04-27 13:48:07,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2747 states to 2747 states and 3148 transitions. [2022-04-27 13:48:07,063 INFO L78 Accepts]: Start accepts. Automaton has 2747 states and 3148 transitions. Word has length 448 [2022-04-27 13:48:07,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:48:07,063 INFO L495 AbstractCegarLoop]: Abstraction has 2747 states and 3148 transitions. [2022-04-27 13:48:07,063 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 66 states, 66 states have (on average 5.121212121212121) internal successors, (338), 66 states have internal predecessors, (338), 64 states have call successors, (132), 34 states have call predecessors, (132), 33 states have return successors, (130), 62 states have call predecessors, (130), 61 states have call successors, (130) [2022-04-27 13:48:07,064 INFO L276 IsEmpty]: Start isEmpty. Operand 2747 states and 3148 transitions. [2022-04-27 13:48:07,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 897 [2022-04-27 13:48:07,088 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:48:07,089 INFO L195 NwaCegarLoop]: trace histogram [129, 128, 128, 59, 58, 58, 58, 58, 58, 58, 58, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:48:07,102 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-27 13:48:07,302 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:48:07,303 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:48:07,303 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:48:07,303 INFO L85 PathProgramCache]: Analyzing trace with hash -583353524, now seen corresponding path program 4 times [2022-04-27 13:48:07,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:48:07,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [347049653] [2022-04-27 13:48:07,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:48:07,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:48:07,385 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:48:07,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1181838710] [2022-04-27 13:48:07,386 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:48:07,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:48:07,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:48:07,387 INFO L229 MonitoredProcess]: Starting monitored process 20 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:48:07,404 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process