/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 14:08:22,300 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 14:08:22,303 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 14:08:22,355 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 14:08:22,355 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 14:08:22,357 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 14:08:22,360 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 14:08:22,363 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 14:08:22,365 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 14:08:22,371 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 14:08:22,372 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 14:08:22,375 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 14:08:22,375 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 14:08:22,378 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 14:08:22,379 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 14:08:22,383 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 14:08:22,383 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 14:08:22,384 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 14:08:22,386 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 14:08:22,391 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 14:08:22,392 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 14:08:22,394 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 14:08:22,395 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 14:08:22,396 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 14:08:22,397 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 14:08:22,401 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 14:08:22,402 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 14:08:22,402 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 14:08:22,403 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 14:08:22,403 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 14:08:22,405 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 14:08:22,405 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 14:08:22,406 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 14:08:22,407 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 14:08:22,407 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 14:08:22,408 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 14:08:22,408 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 14:08:22,409 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 14:08:22,409 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 14:08:22,409 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 14:08:22,410 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 14:08:22,411 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 14:08:22,413 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-07 14:08:22,448 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 14:08:22,449 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 14:08:22,449 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 14:08:22,449 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 14:08:22,450 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 14:08:22,450 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 14:08:22,451 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 14:08:22,451 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 14:08:22,451 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 14:08:22,452 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 14:08:22,452 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 14:08:22,452 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 14:08:22,452 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 14:08:22,452 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 14:08:22,452 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 14:08:22,453 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 14:08:22,455 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 14:08:22,455 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 14:08:22,455 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 14:08:22,455 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:08:22,455 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 14:08:22,456 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 14:08:22,457 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-07 14:08:22,672 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 14:08:22,696 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 14:08:22,699 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 14:08:22,700 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 14:08:22,700 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 14:08:22,701 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-07 14:08:22,756 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7bbf57283/01d052fa908046eea97a073b3eab04e5/FLAGb3e58b768 [2022-04-07 14:08:23,170 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 14:08:23,170 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-07 14:08:23,176 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7bbf57283/01d052fa908046eea97a073b3eab04e5/FLAGb3e58b768 [2022-04-07 14:08:23,195 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7bbf57283/01d052fa908046eea97a073b3eab04e5 [2022-04-07 14:08:23,197 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 14:08:23,199 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 14:08:23,200 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 14:08:23,200 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 14:08:23,203 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 14:08:23,204 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,205 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@370559a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23, skipping insertion in model container [2022-04-07 14:08:23,206 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,212 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 14:08:23,230 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 14:08:23,385 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c[538,551] [2022-04-07 14:08:23,403 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:08:23,412 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 14:08:23,423 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c[538,551] [2022-04-07 14:08:23,431 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:08:23,444 INFO L208 MainTranslator]: Completed translation [2022-04-07 14:08:23,444 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23 WrapperNode [2022-04-07 14:08:23,444 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 14:08:23,445 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 14:08:23,445 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 14:08:23,445 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 14:08:23,455 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,455 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,461 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,461 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,467 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,472 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,473 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,475 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 14:08:23,476 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 14:08:23,476 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 14:08:23,476 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 14:08:23,477 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (1/1) ... [2022-04-07 14:08:23,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:08:23,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:23,525 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-07 14:08:23,553 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-07 14:08:23,569 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 14:08:23,569 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 14:08:23,570 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 14:08:23,570 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 14:08:23,572 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 14:08:23,573 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 14:08:23,573 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 14:08:23,574 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 14:08:23,638 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 14:08:23,640 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 14:08:23,862 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 14:08:23,868 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 14:08:23,868 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-07 14:08:23,870 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:08:23 BoogieIcfgContainer [2022-04-07 14:08:23,870 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 14:08:23,877 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 14:08:23,878 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 14:08:23,887 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 14:08:23,887 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 02:08:23" (1/3) ... [2022-04-07 14:08:23,888 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cdc17f3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:08:23, skipping insertion in model container [2022-04-07 14:08:23,888 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:08:23" (2/3) ... [2022-04-07 14:08:23,889 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cdc17f3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:08:23, skipping insertion in model container [2022-04-07 14:08:23,889 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:08:23" (3/3) ... [2022-04-07 14:08:23,890 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-07 14:08:23,895 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 14:08:23,895 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 14:08:23,955 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 14:08:23,964 INFO L340 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 [2022-04-07 14:08:23,964 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 14:08:24,000 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 14:08:24,007 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 14:08:24,008 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:24,008 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:24,009 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:24,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:24,015 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-07 14:08:24,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:24,027 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1185375462] [2022-04-07 14:08:24,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:24,028 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:24,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:24,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:08:24,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:24,273 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-07 14:08:24,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-07 14:08:24,274 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-07 14:08:24,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:08:24,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:24,287 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-07 14:08:24,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:08:24,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:24,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-07 14:08:24,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:08:24,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:24,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-07 14:08:24,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 14:08:24,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-07 14:08:24,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-07 14:08:24,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-07 14:08:24,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-07 14:08:24,334 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-07 14:08:24,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-07 14:08:24,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-07 14:08:24,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-07 14:08:24,338 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-07 14:08:24,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,341 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-07 14:08:24,341 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-07 14:08:24,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:08:24,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:08:24,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:08:24,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-07 14:08:24,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-07 14:08:24,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-07 14:08:24,345 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-07 14:08:24,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-07 14:08:24,345 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-07 14:08:24,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-07 14:08:24,346 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 14:08:24,346 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:24,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1185375462] [2022-04-07 14:08:24,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1185375462] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:08:24,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:08:24,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 14:08:24,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383711192] [2022-04-07 14:08:24,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:24,356 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-07 14:08:24,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:24,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 14:08:24,402 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-07 14:08:24,402 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 14:08:24,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:24,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 14:08:24,430 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 14:08:24,433 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 14:08:24,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:24,665 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-07 14:08:24,665 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 14:08:24,665 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-07 14:08:24,666 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:24,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 14:08:24,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-07 14:08:24,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 14:08:24,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-07 14:08:24,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-07 14:08:24,825 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-07 14:08:24,842 INFO L225 Difference]: With dead ends: 69 [2022-04-07 14:08:24,842 INFO L226 Difference]: Without dead ends: 33 [2022-04-07 14:08:24,847 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 14:08:24,850 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:24,851 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:08:24,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-07 14:08:24,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-07 14:08:24,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:24,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:24,886 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:24,887 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:24,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:24,892 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-07 14:08:24,892 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:08:24,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:24,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:24,893 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-07 14:08:24,894 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-07 14:08:24,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:24,898 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-07 14:08:24,898 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:08:24,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:24,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:24,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:24,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:24,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:24,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-07 14:08:24,903 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-07 14:08:24,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:24,904 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-07 14:08:24,904 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 14:08:24,904 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:08:24,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 14:08:24,905 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:24,906 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:24,906 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 14:08:24,906 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:24,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:24,907 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-07 14:08:24,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:24,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2085602000] [2022-04-07 14:08:24,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:24,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:24,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:08:25,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-07 14:08:25,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-07 14:08:25,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:08:25,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-07 14:08:25,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:08:25,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-07 14:08:25,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:08:25,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-07 14:08:25,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {275#true} call ULTIMATE.init(); {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 14:08:25,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-07 14:08:25,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-07 14:08:25,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-07 14:08:25,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {275#true} is VALID [2022-04-07 14:08:25,050 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {275#true} is VALID [2022-04-07 14:08:25,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-07 14:08:25,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-07 14:08:25,051 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {275#true} is VALID [2022-04-07 14:08:25,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,051 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-07 14:08:25,052 INFO L272 TraceCheckUtils]: 17: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {275#true} is VALID [2022-04-07 14:08:25,052 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:08:25,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:08:25,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:08:25,052 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-07 14:08:25,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {275#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {292#(= main_~q~0 0)} is VALID [2022-04-07 14:08:25,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-07 14:08:25,054 INFO L272 TraceCheckUtils]: 24: Hoare triple {292#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:08:25,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {293#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 14:08:25,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-07 14:08:25,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-07 14:08:25,055 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 14:08:25,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:25,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2085602000] [2022-04-07 14:08:25,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2085602000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:08:25,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:08:25,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 14:08:25,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458900276] [2022-04-07 14:08:25,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:25,058 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-07 14:08:25,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:25,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-07 14:08:25,086 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-07 14:08:25,086 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:08:25,086 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:25,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:08:25,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 14:08:25,087 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-07 14:08:25,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:25,550 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-07 14:08:25,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-07 14:08:25,550 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-07 14:08:25,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:25,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-07 14:08:25,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:08:25,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-07 14:08:25,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:08:25,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-07 14:08:25,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:25,633 INFO L225 Difference]: With dead ends: 46 [2022-04-07 14:08:25,634 INFO L226 Difference]: Without dead ends: 44 [2022-04-07 14:08:25,637 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:08:25,642 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:25,644 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:08:25,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-07 14:08:25,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-07 14:08:25,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:25,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:25,662 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:25,663 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:25,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:25,672 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-07 14:08:25,672 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-07 14:08:25,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:25,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:25,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-07 14:08:25,674 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-07 14:08:25,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:25,677 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-07 14:08:25,677 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-07 14:08:25,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:25,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:25,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:25,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:25,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:25,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-07 14:08:25,680 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-07 14:08:25,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:25,681 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-07 14:08:25,683 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-07 14:08:25,683 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-07 14:08:25,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-07 14:08:25,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:25,685 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:25,685 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-07 14:08:25,685 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:25,686 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:25,686 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-07 14:08:25,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:25,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [137561452] [2022-04-07 14:08:25,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:25,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:25,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:08:25,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-07 14:08:25,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,809 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-07 14:08:25,809 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:08:25,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-07 14:08:25,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:08:25,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,825 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-07 14:08:25,826 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:08:25,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-07 14:08:25,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-07 14:08:25,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:25,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-07 14:08:25,843 INFO L272 TraceCheckUtils]: 0: Hoare triple {517#true} call ULTIMATE.init(); {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 14:08:25,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-07 14:08:25,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-07 14:08:25,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-07 14:08:25,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {517#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {517#true} is VALID [2022-04-07 14:08:25,844 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {517#true} is VALID [2022-04-07 14:08:25,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,845 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-07 14:08:25,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-07 14:08:25,845 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {517#true} is VALID [2022-04-07 14:08:25,845 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,846 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-07 14:08:25,846 INFO L272 TraceCheckUtils]: 17: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {517#true} is VALID [2022-04-07 14:08:25,846 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,846 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-07 14:08:25,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {517#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-07 14:08:25,848 INFO L290 TraceCheckUtils]: 23: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-07 14:08:25,848 INFO L272 TraceCheckUtils]: 24: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {517#true} is VALID [2022-04-07 14:08:25,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:08:25,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:08:25,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:08:25,849 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-07 14:08:25,850 INFO L272 TraceCheckUtils]: 29: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {539#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:08:25,851 INFO L290 TraceCheckUtils]: 30: Hoare triple {539#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {540#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 14:08:25,851 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-07 14:08:25,851 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-07 14:08:25,852 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-07 14:08:25,852 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:25,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [137561452] [2022-04-07 14:08:25,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [137561452] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:08:25,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:08:25,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 14:08:25,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193129739] [2022-04-07 14:08:25,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:25,853 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-07 14:08:25,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:25,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 14:08:25,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:25,874 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:08:25,874 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:25,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:08:25,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 14:08:25,875 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 14:08:26,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:26,371 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-07 14:08:26,371 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-07 14:08:26,372 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-07 14:08:26,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:26,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 14:08:26,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:08:26,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 14:08:26,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:08:26,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-07 14:08:26,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:26,448 INFO L225 Difference]: With dead ends: 50 [2022-04-07 14:08:26,448 INFO L226 Difference]: Without dead ends: 48 [2022-04-07 14:08:26,448 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:08:26,449 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:26,449 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:08:26,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-07 14:08:26,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-07 14:08:26,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:26,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:26,457 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:26,457 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:26,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:26,460 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-07 14:08:26,461 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-07 14:08:26,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:26,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:26,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-07 14:08:26,462 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-07 14:08:26,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:26,465 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-07 14:08:26,465 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-07 14:08:26,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:26,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:26,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:26,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:26,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:08:26,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-07 14:08:26,469 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-07 14:08:26,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:26,469 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-07 14:08:26,469 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 14:08:26,469 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-07 14:08:26,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-07 14:08:26,470 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:26,470 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:26,470 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-07 14:08:26,471 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:26,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:26,471 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-07 14:08:26,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:26,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1700813811] [2022-04-07 14:08:26,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:26,472 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:26,485 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:08:26,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1883972836] [2022-04-07 14:08:26,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:26,486 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:26,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:26,487 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-07 14:08:26,514 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-07 14:08:26,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:26,563 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 14:08:26,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:26,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:08:27,684 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-07 14:08:27,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-07 14:08:27,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:08:27,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-07 14:08:27,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-07 14:08:27,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {781#true} is VALID [2022-04-07 14:08:27,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {781#true} is VALID [2022-04-07 14:08:27,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:08:27,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:08:27,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:08:27,686 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-07 14:08:27,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-07 14:08:27,686 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {781#true} is VALID [2022-04-07 14:08:27,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:27,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:27,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:27,688 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {829#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #83#return; {836#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:27,689 INFO L272 TraceCheckUtils]: 17: Hoare triple {836#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-07 14:08:27,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:27,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:27,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:27,690 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {829#(not (= |assume_abort_if_not_#in~cond| 0))} {836#(<= (mod main_~B~0 4294967296) 1)} #85#return; {852#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:27,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {852#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:27,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:27,692 INFO L272 TraceCheckUtils]: 24: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {781#true} is VALID [2022-04-07 14:08:27,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:08:27,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:08:27,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:08:27,693 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:27,693 INFO L272 TraceCheckUtils]: 29: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {781#true} is VALID [2022-04-07 14:08:27,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:08:27,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:08:27,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:08:27,694 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:27,695 INFO L272 TraceCheckUtils]: 34: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {893#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:27,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:27,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-07 14:08:27,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-07 14:08:27,697 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-07 14:08:27,697 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:08:27,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:27,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1700813811] [2022-04-07 14:08:27,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:08:27,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1883972836] [2022-04-07 14:08:27,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1883972836] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:08:27,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:08:27,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-07 14:08:27,698 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1972560499] [2022-04-07 14:08:27,698 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:27,699 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-07 14:08:27,701 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:27,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 14:08:27,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:27,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 14:08:27,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:27,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 14:08:27,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-07 14:08:27,730 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 14:08:28,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:28,350 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-07 14:08:28,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 14:08:28,350 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-07 14:08:28,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:28,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 14:08:28,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-07 14:08:28,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 14:08:28,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-07 14:08:28,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-07 14:08:28,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:28,462 INFO L225 Difference]: With dead ends: 69 [2022-04-07 14:08:28,463 INFO L226 Difference]: Without dead ends: 55 [2022-04-07 14:08:28,463 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:08:28,464 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 36 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:28,464 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 178 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:08:28,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-07 14:08:28,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-07 14:08:28,499 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:28,499 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:28,500 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:28,500 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:28,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:28,503 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-07 14:08:28,503 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:08:28,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:28,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:28,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-07 14:08:28,505 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-07 14:08:28,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:28,507 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-07 14:08:28,508 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:08:28,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:28,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:28,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:28,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:28,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:28,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-07 14:08:28,511 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-07 14:08:28,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:28,511 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-07 14:08:28,512 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 14:08:28,512 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:08:28,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-07 14:08:28,513 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:28,513 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:28,542 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-07 14:08:28,742 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:28,742 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:28,743 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:28,743 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-07 14:08:28,743 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:28,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1957578139] [2022-04-07 14:08:28,743 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:28,743 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:28,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:08:28,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [390615690] [2022-04-07 14:08:28,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:28,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:28,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:28,776 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-07 14:08:28,788 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-07 14:08:28,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:28,841 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 14:08:28,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:28,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:08:30,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {1201#true} call ULTIMATE.init(); {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {1201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1201#true} {1201#true} #101#return; {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {1201#true} call #t~ret6 := main(); {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {1201#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {1201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:30,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:30,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,944 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1201#true} {1201#true} #81#return; {1201#true} is VALID [2022-04-07 14:08:30,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {1201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1201#true} is VALID [2022-04-07 14:08:30,944 INFO L272 TraceCheckUtils]: 12: Hoare triple {1201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {1201#true} ~cond := #in~cond; {1245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:30,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {1245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:30,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:30,953 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} {1201#true} #83#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:30,953 INFO L272 TraceCheckUtils]: 17: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:30,953 INFO L290 TraceCheckUtils]: 19: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:30,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,954 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1201#true} {1256#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:30,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,955 INFO L290 TraceCheckUtils]: 23: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,955 INFO L272 TraceCheckUtils]: 24: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,955 INFO L290 TraceCheckUtils]: 25: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:30,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:30,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,956 INFO L272 TraceCheckUtils]: 29: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:30,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:30,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,957 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,957 INFO L272 TraceCheckUtils]: 34: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:30,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:30,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:30,958 INFO L290 TraceCheckUtils]: 37: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:30,959 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,960 INFO L290 TraceCheckUtils]: 39: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,960 INFO L290 TraceCheckUtils]: 40: Hoare triple {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:30,961 INFO L272 TraceCheckUtils]: 41: Hoare triple {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:30,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1338#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:30,962 INFO L290 TraceCheckUtils]: 43: Hoare triple {1338#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1202#false} is VALID [2022-04-07 14:08:30,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {1202#false} assume !false; {1202#false} is VALID [2022-04-07 14:08:30,963 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-07 14:08:30,963 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:08:32,089 INFO L290 TraceCheckUtils]: 44: Hoare triple {1202#false} assume !false; {1202#false} is VALID [2022-04-07 14:08:32,090 INFO L290 TraceCheckUtils]: 43: Hoare triple {1338#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1202#false} is VALID [2022-04-07 14:08:32,091 INFO L290 TraceCheckUtils]: 42: Hoare triple {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1338#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:32,092 INFO L272 TraceCheckUtils]: 41: Hoare triple {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:32,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:08:32,093 INFO L290 TraceCheckUtils]: 39: Hoare triple {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:08:32,094 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1201#true} {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:32,094 INFO L290 TraceCheckUtils]: 37: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:32,094 INFO L290 TraceCheckUtils]: 35: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:32,094 INFO L272 TraceCheckUtils]: 34: Hoare triple {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,095 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1201#true} {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:32,095 INFO L290 TraceCheckUtils]: 32: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,095 INFO L290 TraceCheckUtils]: 31: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:32,095 INFO L290 TraceCheckUtils]: 30: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:32,096 INFO L272 TraceCheckUtils]: 29: Hoare triple {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,096 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1201#true} {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:32,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:32,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:32,097 INFO L272 TraceCheckUtils]: 24: Hoare triple {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,098 INFO L290 TraceCheckUtils]: 23: Hoare triple {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:32,105 INFO L290 TraceCheckUtils]: 22: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:32,106 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1201#true} {1256#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:32,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,106 INFO L290 TraceCheckUtils]: 19: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:32,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:32,106 INFO L272 TraceCheckUtils]: 17: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} {1201#true} #83#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:32,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:32,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {1440#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:32,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {1201#true} ~cond := #in~cond; {1440#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 14:08:32,108 INFO L272 TraceCheckUtils]: 12: Hoare triple {1201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {1201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1201#true} is VALID [2022-04-07 14:08:32,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1201#true} {1201#true} #81#return; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 7: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L272 TraceCheckUtils]: 6: Hoare triple {1201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 5: Hoare triple {1201#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L272 TraceCheckUtils]: 4: Hoare triple {1201#true} call #t~ret6 := main(); {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1201#true} {1201#true} #101#return; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-07 14:08:32,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {1201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1201#true} is VALID [2022-04-07 14:08:32,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {1201#true} call ULTIMATE.init(); {1201#true} is VALID [2022-04-07 14:08:32,110 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-07 14:08:32,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:32,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1957578139] [2022-04-07 14:08:32,110 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:08:32,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [390615690] [2022-04-07 14:08:32,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [390615690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:08:32,110 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:08:32,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-07 14:08:32,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473525269] [2022-04-07 14:08:32,111 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:08:32,116 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 45 [2022-04-07 14:08:32,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:32,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-07 14:08:32,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:32,168 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 14:08:32,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:32,168 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 14:08:32,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-07 14:08:32,169 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-07 14:08:33,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:33,236 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-07 14:08:33,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 14:08:33,236 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 45 [2022-04-07 14:08:33,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:33,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-07 14:08:33,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-07 14:08:33,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-07 14:08:33,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-07 14:08:33,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-07 14:08:33,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:33,318 INFO L225 Difference]: With dead ends: 76 [2022-04-07 14:08:33,318 INFO L226 Difference]: Without dead ends: 69 [2022-04-07 14:08:33,319 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2022-04-07 14:08:33,320 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 34 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 241 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 241 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:33,320 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 217 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 241 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 14:08:33,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-07 14:08:33,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 67. [2022-04-07 14:08:33,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:33,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:33,379 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:33,380 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:33,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:33,382 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2022-04-07 14:08:33,383 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2022-04-07 14:08:33,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:33,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:33,383 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 69 states. [2022-04-07 14:08:33,384 INFO L87 Difference]: Start difference. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 69 states. [2022-04-07 14:08:33,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:33,387 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2022-04-07 14:08:33,387 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2022-04-07 14:08:33,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:33,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:33,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:33,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:33,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 14:08:33,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 78 transitions. [2022-04-07 14:08:33,390 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 78 transitions. Word has length 45 [2022-04-07 14:08:33,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:33,390 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 78 transitions. [2022-04-07 14:08:33,391 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-07 14:08:33,391 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 78 transitions. [2022-04-07 14:08:33,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-07 14:08:33,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:33,392 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:33,418 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-07 14:08:33,607 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:33,608 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:33,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:33,608 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-07 14:08:33,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:33,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251341760] [2022-04-07 14:08:33,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:33,608 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:33,633 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:08:33,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [764986479] [2022-04-07 14:08:33,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:33,633 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:33,633 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:33,643 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-07 14:08:33,645 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-07 14:08:33,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:33,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-07 14:08:33,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:33,717 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:08:35,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {1836#true} call ULTIMATE.init(); {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {1836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1836#true} {1836#true} #101#return; {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {1836#true} call #t~ret6 := main(); {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {1836#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L272 TraceCheckUtils]: 6: Hoare triple {1836#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1836#true} {1836#true} #81#return; {1836#true} is VALID [2022-04-07 14:08:35,426 INFO L290 TraceCheckUtils]: 11: Hoare triple {1836#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1836#true} is VALID [2022-04-07 14:08:35,426 INFO L272 TraceCheckUtils]: 12: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {1836#true} ~cond := #in~cond; {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:35,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:35,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:35,428 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} {1836#true} #83#return; {1891#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:35,428 INFO L272 TraceCheckUtils]: 17: Hoare triple {1891#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {1836#true} ~cond := #in~cond; {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:35,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:35,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:35,429 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} {1891#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1907#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:35,430 INFO L290 TraceCheckUtils]: 22: Hoare triple {1907#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:35,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:35,431 INFO L272 TraceCheckUtils]: 24: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,431 INFO L290 TraceCheckUtils]: 27: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,431 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:35,432 INFO L272 TraceCheckUtils]: 29: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,432 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:35,433 INFO L272 TraceCheckUtils]: 34: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,433 INFO L290 TraceCheckUtils]: 35: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,433 INFO L290 TraceCheckUtils]: 36: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,433 INFO L290 TraceCheckUtils]: 37: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,433 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:08:35,434 INFO L290 TraceCheckUtils]: 39: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:35,435 INFO L290 TraceCheckUtils]: 40: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:35,435 INFO L272 TraceCheckUtils]: 41: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,435 INFO L290 TraceCheckUtils]: 42: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,435 INFO L290 TraceCheckUtils]: 43: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,435 INFO L290 TraceCheckUtils]: 44: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,436 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1836#true} {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:35,436 INFO L272 TraceCheckUtils]: 46: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:35,436 INFO L290 TraceCheckUtils]: 47: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:35,436 INFO L290 TraceCheckUtils]: 48: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:35,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:35,437 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1836#true} {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:35,438 INFO L272 TraceCheckUtils]: 51: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:35,438 INFO L290 TraceCheckUtils]: 52: Hoare triple {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:35,439 INFO L290 TraceCheckUtils]: 53: Hoare triple {2004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1837#false} is VALID [2022-04-07 14:08:35,439 INFO L290 TraceCheckUtils]: 54: Hoare triple {1837#false} assume !false; {1837#false} is VALID [2022-04-07 14:08:35,439 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-07 14:08:35,439 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:08:36,042 INFO L290 TraceCheckUtils]: 54: Hoare triple {1837#false} assume !false; {1837#false} is VALID [2022-04-07 14:08:36,043 INFO L290 TraceCheckUtils]: 53: Hoare triple {2004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1837#false} is VALID [2022-04-07 14:08:36,043 INFO L290 TraceCheckUtils]: 52: Hoare triple {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:36,044 INFO L272 TraceCheckUtils]: 51: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:36,050 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,050 INFO L290 TraceCheckUtils]: 49: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,051 INFO L290 TraceCheckUtils]: 48: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,051 INFO L290 TraceCheckUtils]: 47: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,051 INFO L272 TraceCheckUtils]: 46: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,052 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,052 INFO L290 TraceCheckUtils]: 44: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,052 INFO L290 TraceCheckUtils]: 43: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,052 INFO L290 TraceCheckUtils]: 42: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,052 INFO L272 TraceCheckUtils]: 41: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,102 INFO L290 TraceCheckUtils]: 39: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,103 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,103 INFO L290 TraceCheckUtils]: 37: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,103 INFO L290 TraceCheckUtils]: 36: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,103 INFO L290 TraceCheckUtils]: 35: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,103 INFO L272 TraceCheckUtils]: 34: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,104 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,105 INFO L272 TraceCheckUtils]: 29: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,105 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,105 INFO L272 TraceCheckUtils]: 24: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,106 INFO L290 TraceCheckUtils]: 23: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,106 INFO L290 TraceCheckUtils]: 22: Hoare triple {1836#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:08:36,106 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1836#true} {1836#true} #85#return; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L272 TraceCheckUtils]: 17: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1836#true} {1836#true} #83#return; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {1836#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1836#true} is VALID [2022-04-07 14:08:36,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1836#true} {1836#true} #81#return; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {1836#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {1836#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {1836#true} call #t~ret6 := main(); {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1836#true} {1836#true} #101#return; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {1836#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1836#true} is VALID [2022-04-07 14:08:36,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {1836#true} call ULTIMATE.init(); {1836#true} is VALID [2022-04-07 14:08:36,109 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-07 14:08:36,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:36,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251341760] [2022-04-07 14:08:36,109 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:08:36,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764986479] [2022-04-07 14:08:36,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764986479] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 14:08:36,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 14:08:36,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-07 14:08:36,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [389179620] [2022-04-07 14:08:36,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:36,110 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-07 14:08:36,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:36,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:08:36,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:36,146 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:08:36,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:36,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:08:36,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:08:36,146 INFO L87 Difference]: Start difference. First operand 67 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:08:36,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:36,545 INFO L93 Difference]: Finished difference Result 79 states and 93 transitions. [2022-04-07 14:08:36,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:08:36,545 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-07 14:08:36,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:36,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:08:36,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-07 14:08:36,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:08:36,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-07 14:08:36,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-07 14:08:36,601 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-07 14:08:36,603 INFO L225 Difference]: With dead ends: 79 [2022-04-07 14:08:36,603 INFO L226 Difference]: Without dead ends: 77 [2022-04-07 14:08:36,603 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-07 14:08:36,604 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:36,604 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:08:36,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-07 14:08:36,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 74. [2022-04-07 14:08:36,646 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:36,648 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:36,649 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:36,650 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:36,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:36,655 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-07 14:08:36,655 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 91 transitions. [2022-04-07 14:08:36,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:36,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:36,656 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-07 14:08:36,656 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-07 14:08:36,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:36,659 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-07 14:08:36,659 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 91 transitions. [2022-04-07 14:08:36,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:36,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:36,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:36,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:36,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:36,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 86 transitions. [2022-04-07 14:08:36,662 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 86 transitions. Word has length 55 [2022-04-07 14:08:36,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:36,662 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 86 transitions. [2022-04-07 14:08:36,663 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:08:36,663 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 86 transitions. [2022-04-07 14:08:36,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-07 14:08:36,666 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:36,667 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:36,693 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 14:08:36,879 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:36,879 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:36,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:36,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1769996925, now seen corresponding path program 1 times [2022-04-07 14:08:36,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:36,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99407182] [2022-04-07 14:08:36,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:36,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:36,898 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:08:36,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1729750432] [2022-04-07 14:08:36,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:36,898 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:36,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:36,911 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-07 14:08:36,939 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-07 14:08:36,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:36,971 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-07 14:08:36,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:36,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:08:37,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {2551#true} call ULTIMATE.init(); {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {2551#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2551#true} {2551#true} #101#return; {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {2551#true} call #t~ret6 := main(); {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {2551#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {2551#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2551#true} {2551#true} #81#return; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {2551#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L272 TraceCheckUtils]: 12: Hoare triple {2551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 14: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2551#true} {2551#true} #83#return; {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L272 TraceCheckUtils]: 17: Hoare triple {2551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,658 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2551#true} {2551#true} #85#return; {2551#true} is VALID [2022-04-07 14:08:37,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {2551#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2622#(<= 1 main_~p~0)} is VALID [2022-04-07 14:08:37,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {2622#(<= 1 main_~p~0)} assume !false; {2622#(<= 1 main_~p~0)} is VALID [2022-04-07 14:08:37,659 INFO L272 TraceCheckUtils]: 24: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,660 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #87#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-07 14:08:37,660 INFO L272 TraceCheckUtils]: 29: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,660 INFO L290 TraceCheckUtils]: 31: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,660 INFO L290 TraceCheckUtils]: 32: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,661 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #89#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-07 14:08:37,661 INFO L272 TraceCheckUtils]: 34: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,661 INFO L290 TraceCheckUtils]: 36: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,661 INFO L290 TraceCheckUtils]: 37: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,662 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #91#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-07 14:08:37,662 INFO L290 TraceCheckUtils]: 39: Hoare triple {2622#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,663 INFO L290 TraceCheckUtils]: 40: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !false; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,663 INFO L272 TraceCheckUtils]: 41: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,663 INFO L290 TraceCheckUtils]: 42: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,663 INFO L290 TraceCheckUtils]: 44: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,664 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #87#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,664 INFO L272 TraceCheckUtils]: 46: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,664 INFO L290 TraceCheckUtils]: 47: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,664 INFO L290 TraceCheckUtils]: 49: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,665 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #89#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,665 INFO L272 TraceCheckUtils]: 51: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,665 INFO L290 TraceCheckUtils]: 52: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,665 INFO L290 TraceCheckUtils]: 53: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,665 INFO L290 TraceCheckUtils]: 54: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,666 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #91#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,666 INFO L290 TraceCheckUtils]: 56: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !(~r~0 >= ~d~0); {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,666 INFO L290 TraceCheckUtils]: 57: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !false; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,667 INFO L272 TraceCheckUtils]: 58: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,667 INFO L290 TraceCheckUtils]: 59: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,667 INFO L290 TraceCheckUtils]: 60: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,667 INFO L290 TraceCheckUtils]: 61: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,667 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #93#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,668 INFO L272 TraceCheckUtils]: 63: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-07 14:08:37,668 INFO L290 TraceCheckUtils]: 64: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-07 14:08:37,668 INFO L290 TraceCheckUtils]: 65: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-07 14:08:37,668 INFO L290 TraceCheckUtils]: 66: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-07 14:08:37,668 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #95#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:08:37,669 INFO L290 TraceCheckUtils]: 68: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {2552#false} is VALID [2022-04-07 14:08:37,669 INFO L272 TraceCheckUtils]: 69: Hoare triple {2552#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2552#false} is VALID [2022-04-07 14:08:37,669 INFO L290 TraceCheckUtils]: 70: Hoare triple {2552#false} ~cond := #in~cond; {2552#false} is VALID [2022-04-07 14:08:37,669 INFO L290 TraceCheckUtils]: 71: Hoare triple {2552#false} assume 0 == ~cond; {2552#false} is VALID [2022-04-07 14:08:37,669 INFO L290 TraceCheckUtils]: 72: Hoare triple {2552#false} assume !false; {2552#false} is VALID [2022-04-07 14:08:37,670 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 21 proven. 0 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-07 14:08:37,670 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:08:37,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:37,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99407182] [2022-04-07 14:08:37,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:08:37,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1729750432] [2022-04-07 14:08:37,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1729750432] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:08:37,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:08:37,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 14:08:37,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1156499191] [2022-04-07 14:08:37,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:08:37,675 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 73 [2022-04-07 14:08:37,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:37,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-07 14:08:37,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:37,721 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 14:08:37,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:37,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 14:08:37,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-07 14:08:37,724 INFO L87 Difference]: Start difference. First operand 74 states and 86 transitions. Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-07 14:08:37,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:37,876 INFO L93 Difference]: Finished difference Result 83 states and 96 transitions. [2022-04-07 14:08:37,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 14:08:37,876 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 73 [2022-04-07 14:08:37,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:08:37,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-07 14:08:37,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 66 transitions. [2022-04-07 14:08:37,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-07 14:08:37,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 66 transitions. [2022-04-07 14:08:37,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 66 transitions. [2022-04-07 14:08:37,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:37,945 INFO L225 Difference]: With dead ends: 83 [2022-04-07 14:08:37,945 INFO L226 Difference]: Without dead ends: 75 [2022-04-07 14:08:37,946 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-07 14:08:37,946 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 6 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:08:37,947 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 78 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:08:37,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-07 14:08:37,995 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 75. [2022-04-07 14:08:37,995 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:08:37,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:37,996 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:37,996 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:38,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:38,005 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-04-07 14:08:38,005 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-07 14:08:38,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:38,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:38,007 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 75 states. [2022-04-07 14:08:38,007 INFO L87 Difference]: Start difference. First operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 75 states. [2022-04-07 14:08:38,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:08:38,011 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-04-07 14:08:38,011 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-07 14:08:38,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:08:38,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:08:38,012 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:08:38,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:08:38,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:08:38,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 87 transitions. [2022-04-07 14:08:38,017 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 87 transitions. Word has length 73 [2022-04-07 14:08:38,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:08:38,017 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 87 transitions. [2022-04-07 14:08:38,017 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-07 14:08:38,017 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-07 14:08:38,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-07 14:08:38,018 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:08:38,018 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:08:38,037 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-07 14:08:38,227 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:38,228 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:08:38,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:08:38,228 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-07 14:08:38,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:08:38,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128225041] [2022-04-07 14:08:38,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:38,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:08:38,241 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:08:38,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1004128234] [2022-04-07 14:08:38,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:08:38,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:08:38,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:08:38,243 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-07 14:08:38,251 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-07 14:08:38,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:38,304 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-07 14:08:38,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:08:38,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:08:45,344 INFO L272 TraceCheckUtils]: 0: Hoare triple {3148#true} call ULTIMATE.init(); {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3148#true} {3148#true} #101#return; {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {3148#true} call #t~ret6 := main(); {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {3148#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3148#true} {3148#true} #81#return; {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {3148#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {3148#true} ~cond := #in~cond; {3192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:08:45,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {3192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:45,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {3196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:08:45,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3196#(not (= |assume_abort_if_not_#in~cond| 0))} {3148#true} #83#return; {3203#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:45,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {3203#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,348 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3148#true} {3203#(<= (mod main_~B~0 4294967296) 1)} #85#return; {3203#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:08:45,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {3203#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,349 INFO L290 TraceCheckUtils]: 23: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,349 INFO L272 TraceCheckUtils]: 24: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,350 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,350 INFO L272 TraceCheckUtils]: 29: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,351 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,351 INFO L272 TraceCheckUtils]: 34: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,351 INFO L290 TraceCheckUtils]: 35: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,351 INFO L290 TraceCheckUtils]: 36: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,352 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,353 INFO L290 TraceCheckUtils]: 39: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,354 INFO L290 TraceCheckUtils]: 40: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,354 INFO L272 TraceCheckUtils]: 41: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,354 INFO L290 TraceCheckUtils]: 42: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,354 INFO L290 TraceCheckUtils]: 43: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,354 INFO L290 TraceCheckUtils]: 44: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,355 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,355 INFO L272 TraceCheckUtils]: 46: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,355 INFO L290 TraceCheckUtils]: 47: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,355 INFO L290 TraceCheckUtils]: 48: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,355 INFO L290 TraceCheckUtils]: 49: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,356 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,356 INFO L272 TraceCheckUtils]: 51: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,356 INFO L290 TraceCheckUtils]: 52: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,356 INFO L290 TraceCheckUtils]: 53: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,356 INFO L290 TraceCheckUtils]: 54: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,357 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,357 INFO L290 TraceCheckUtils]: 56: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,358 INFO L272 TraceCheckUtils]: 58: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,358 INFO L290 TraceCheckUtils]: 59: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,358 INFO L290 TraceCheckUtils]: 60: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,358 INFO L290 TraceCheckUtils]: 61: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,359 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3148#true} {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,359 INFO L272 TraceCheckUtils]: 63: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:45,363 INFO L290 TraceCheckUtils]: 64: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:45,365 INFO L290 TraceCheckUtils]: 65: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:45,365 INFO L290 TraceCheckUtils]: 66: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:45,366 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3148#true} {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:08:45,368 INFO L290 TraceCheckUtils]: 68: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3363#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-07 14:08:45,369 INFO L290 TraceCheckUtils]: 69: Hoare triple {3363#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3367#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-07 14:08:45,369 INFO L290 TraceCheckUtils]: 70: Hoare triple {3367#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} assume !false; {3367#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-07 14:08:45,370 INFO L272 TraceCheckUtils]: 71: Hoare triple {3367#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:45,371 INFO L290 TraceCheckUtils]: 72: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:45,371 INFO L290 TraceCheckUtils]: 73: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3149#false} is VALID [2022-04-07 14:08:45,371 INFO L290 TraceCheckUtils]: 74: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-04-07 14:08:45,372 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-07 14:08:45,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:08:53,375 INFO L290 TraceCheckUtils]: 74: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-04-07 14:08:53,376 INFO L290 TraceCheckUtils]: 73: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3149#false} is VALID [2022-04-07 14:08:53,376 INFO L290 TraceCheckUtils]: 72: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:08:53,377 INFO L272 TraceCheckUtils]: 71: Hoare triple {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:08:53,378 INFO L290 TraceCheckUtils]: 70: Hoare triple {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:08:53,380 INFO L290 TraceCheckUtils]: 69: Hoare triple {3401#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:08:53,396 INFO L290 TraceCheckUtils]: 68: Hoare triple {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3401#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-07 14:08:53,397 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3148#true} {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-07 14:08:53,397 INFO L290 TraceCheckUtils]: 66: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,397 INFO L272 TraceCheckUtils]: 63: Hoare triple {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,397 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3148#true} {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-07 14:08:53,398 INFO L290 TraceCheckUtils]: 61: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,398 INFO L290 TraceCheckUtils]: 60: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,398 INFO L290 TraceCheckUtils]: 59: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,398 INFO L272 TraceCheckUtils]: 58: Hoare triple {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,399 INFO L290 TraceCheckUtils]: 57: Hoare triple {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-07 14:08:53,400 INFO L290 TraceCheckUtils]: 56: Hoare triple {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3405#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-07 14:08:53,400 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3148#true} {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:53,400 INFO L290 TraceCheckUtils]: 54: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,400 INFO L290 TraceCheckUtils]: 53: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,400 INFO L290 TraceCheckUtils]: 52: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,401 INFO L272 TraceCheckUtils]: 51: Hoare triple {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,401 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3148#true} {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:53,401 INFO L290 TraceCheckUtils]: 49: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,401 INFO L290 TraceCheckUtils]: 48: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,401 INFO L290 TraceCheckUtils]: 47: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,401 INFO L272 TraceCheckUtils]: 46: Hoare triple {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,402 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3148#true} {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:53,402 INFO L290 TraceCheckUtils]: 44: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,402 INFO L290 TraceCheckUtils]: 43: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,402 INFO L290 TraceCheckUtils]: 42: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,402 INFO L272 TraceCheckUtils]: 41: Hoare triple {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,404 INFO L290 TraceCheckUtils]: 40: Hoare triple {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:53,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3442#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:08:53,407 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:08:53,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L290 TraceCheckUtils]: 36: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L272 TraceCheckUtils]: 34: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:08:53,408 INFO L290 TraceCheckUtils]: 32: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L290 TraceCheckUtils]: 31: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L290 TraceCheckUtils]: 30: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,408 INFO L272 TraceCheckUtils]: 29: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,409 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:08:53,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,409 INFO L272 TraceCheckUtils]: 24: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 22: Hoare triple {3148#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:08:53,411 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3148#true} {3148#true} #85#return; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 19: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 18: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L272 TraceCheckUtils]: 17: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3148#true} {3148#true} #83#return; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 15: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 14: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,411 INFO L272 TraceCheckUtils]: 12: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {3148#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3148#true} {3148#true} #81#return; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {3148#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {3148#true} call #t~ret6 := main(); {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3148#true} {3148#true} #101#return; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3148#true} is VALID [2022-04-07 14:08:53,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {3148#true} call ULTIMATE.init(); {3148#true} is VALID [2022-04-07 14:08:53,413 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-07 14:08:53,413 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:08:53,413 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128225041] [2022-04-07 14:08:53,413 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:08:53,413 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1004128234] [2022-04-07 14:08:53,413 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1004128234] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:08:53,413 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:08:53,413 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-07 14:08:53,414 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1842317484] [2022-04-07 14:08:53,414 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:08:53,414 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-07 14:08:53,415 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:08:53,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:08:53,546 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:08:53,547 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-07 14:08:53,547 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:08:53,547 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-07 14:08:53,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-07 14:08:53,548 INFO L87 Difference]: Start difference. First operand 75 states and 87 transitions. Second operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:09:00,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:00,829 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-07 14:09:00,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 14:09:00,829 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-07 14:09:00,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:00,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:09:00,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-07 14:09:00,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:09:00,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-07 14:09:00,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-07 14:09:00,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:09:00,985 INFO L225 Difference]: With dead ends: 126 [2022-04-07 14:09:00,985 INFO L226 Difference]: Without dead ends: 104 [2022-04-07 14:09:00,985 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=92, Invalid=328, Unknown=0, NotChecked=0, Total=420 [2022-04-07 14:09:00,986 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 58 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 398 mSolverCounterSat, 130 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 528 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 130 IncrementalHoareTripleChecker+Valid, 398 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-07 14:09:00,986 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 180 Invalid, 528 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [130 Valid, 398 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-07 14:09:00,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-07 14:09:01,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 97. [2022-04-07 14:09:01,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:01,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-07 14:09:01,044 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-07 14:09:01,044 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-07 14:09:01,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:01,049 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-07 14:09:01,049 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-07 14:09:01,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:01,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:01,050 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 104 states. [2022-04-07 14:09:01,050 INFO L87 Difference]: Start difference. First operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 104 states. [2022-04-07 14:09:01,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:01,054 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-07 14:09:01,054 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-07 14:09:01,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:01,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:01,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:01,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:01,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-07 14:09:01,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 112 transitions. [2022-04-07 14:09:01,058 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 112 transitions. Word has length 75 [2022-04-07 14:09:01,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:01,058 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 112 transitions. [2022-04-07 14:09:01,058 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:09:01,058 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 112 transitions. [2022-04-07 14:09:01,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-07 14:09:01,059 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:01,059 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:09:01,082 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-07 14:09:01,279 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:01,279 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:01,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:01,280 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-07 14:09:01,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:01,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1389081508] [2022-04-07 14:09:01,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:01,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:01,305 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:01,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1376914531] [2022-04-07 14:09:01,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:01,305 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:01,306 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:01,314 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-07 14:09:01,314 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-07 14:09:01,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:01,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-07 14:09:01,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:01,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:51,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-07 14:09:51,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,278 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4191#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:09:51,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {4191#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4195#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:51,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {4195#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4195#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:51,279 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4195#(not (= |assume_abort_if_not_#in~cond| 0))} {4147#true} #83#return; {4202#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:09:51,279 INFO L272 TraceCheckUtils]: 17: Hoare triple {4202#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,279 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,279 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,280 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4202#(<= (mod main_~B~0 4294967296) 1)} #85#return; {4202#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-07 14:09:51,281 INFO L290 TraceCheckUtils]: 22: Hoare triple {4202#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,283 INFO L272 TraceCheckUtils]: 24: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,288 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,289 INFO L272 TraceCheckUtils]: 29: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,289 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,289 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,290 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,290 INFO L272 TraceCheckUtils]: 34: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,290 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,290 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,293 INFO L272 TraceCheckUtils]: 41: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,293 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,293 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,294 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,294 INFO L272 TraceCheckUtils]: 46: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,294 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,294 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,294 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,295 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,295 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,295 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,295 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,295 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,295 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,296 INFO L290 TraceCheckUtils]: 56: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,296 INFO L290 TraceCheckUtils]: 57: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,296 INFO L272 TraceCheckUtils]: 58: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,296 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,297 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,297 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,297 INFO L272 TraceCheckUtils]: 63: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,297 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,297 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,297 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,298 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-07 14:09:51,306 INFO L290 TraceCheckUtils]: 68: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4362#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ main_~r~0 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) 1) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,312 INFO L290 TraceCheckUtils]: 69: Hoare triple {4362#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ main_~r~0 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) 1) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,313 INFO L290 TraceCheckUtils]: 70: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,313 INFO L272 TraceCheckUtils]: 71: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,313 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,313 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,313 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,314 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,314 INFO L272 TraceCheckUtils]: 76: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:09:51,314 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:09:51,314 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:09:51,314 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:09:51,315 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:51,315 INFO L290 TraceCheckUtils]: 81: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {4403#(and (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-07 14:09:51,316 INFO L272 TraceCheckUtils]: 82: Hoare triple {4403#(and (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) main_~d~0 main_~r~0) (- 4294967296)) 1) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:51,316 INFO L290 TraceCheckUtils]: 83: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:51,317 INFO L290 TraceCheckUtils]: 84: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-07 14:09:51,317 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-07 14:09:51,317 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2022-04-07 14:09:51,317 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:10:05,647 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-07 14:10:05,647 INFO L290 TraceCheckUtils]: 84: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-07 14:10:05,648 INFO L290 TraceCheckUtils]: 83: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:10:05,648 INFO L272 TraceCheckUtils]: 82: Hoare triple {4427#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:10:05,648 INFO L290 TraceCheckUtils]: 81: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4427#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-07 14:10:05,649 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-07 14:10:05,649 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,649 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,649 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,649 INFO L272 TraceCheckUtils]: 76: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,650 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-07 14:10:05,650 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,650 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,650 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,650 INFO L272 TraceCheckUtils]: 71: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,650 INFO L290 TraceCheckUtils]: 70: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-07 14:10:05,652 INFO L290 TraceCheckUtils]: 69: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-07 14:10:05,657 INFO L290 TraceCheckUtils]: 68: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-07 14:10:05,658 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #95#return; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-07 14:10:05,658 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,658 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,658 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,658 INFO L272 TraceCheckUtils]: 63: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,659 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #93#return; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-07 14:10:05,659 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,659 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,659 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,659 INFO L272 TraceCheckUtils]: 58: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,660 INFO L290 TraceCheckUtils]: 57: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !false; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-07 14:10:05,661 INFO L290 TraceCheckUtils]: 56: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-07 14:10:05,661 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:10:05,661 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,661 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,661 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,662 INFO L272 TraceCheckUtils]: 51: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,668 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:10:05,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,668 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,668 INFO L272 TraceCheckUtils]: 46: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,669 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:10:05,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,669 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,669 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,669 INFO L272 TraceCheckUtils]: 41: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,671 INFO L290 TraceCheckUtils]: 40: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:10:05,675 INFO L290 TraceCheckUtils]: 39: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:10:05,676 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:05,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,676 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,676 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,676 INFO L272 TraceCheckUtils]: 34: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,677 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:05,677 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,677 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,677 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,677 INFO L272 TraceCheckUtils]: 29: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,678 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:05,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,678 INFO L272 TraceCheckUtils]: 24: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:05,679 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L272 TraceCheckUtils]: 17: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-07 14:10:05,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-07 14:10:05,680 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-07 14:10:05,680 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:10:05,680 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1389081508] [2022-04-07 14:10:05,681 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:10:05,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1376914531] [2022-04-07 14:10:05,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1376914531] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:10:05,681 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:10:05,681 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-07 14:10:05,681 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569616573] [2022-04-07 14:10:05,681 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:10:05,682 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) Word has length 86 [2022-04-07 14:10:05,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:10:05,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-07 14:10:05,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:05,819 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 14:10:05,819 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:10:05,819 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 14:10:05,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-07 14:10:05,820 INFO L87 Difference]: Start difference. First operand 97 states and 112 transitions. Second operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-07 14:10:20,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:20,394 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-07 14:10:20,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-07 14:10:20,395 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) Word has length 86 [2022-04-07 14:10:20,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:10:20,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-07 14:10:20,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-07 14:10:20,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-07 14:10:20,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-07 14:10:20,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 141 transitions. [2022-04-07 14:10:20,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:20,635 INFO L225 Difference]: With dead ends: 154 [2022-04-07 14:10:20,635 INFO L226 Difference]: Without dead ends: 137 [2022-04-07 14:10:20,636 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=203, Invalid=727, Unknown=0, NotChecked=0, Total=930 [2022-04-07 14:10:20,636 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 55 mSDsluCounter, 243 mSDsCounter, 0 mSdLazyCounter, 417 mSolverCounterSat, 130 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 297 SdHoareTripleChecker+Invalid, 547 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 130 IncrementalHoareTripleChecker+Valid, 417 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-07 14:10:20,637 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 297 Invalid, 547 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [130 Valid, 417 Invalid, 0 Unknown, 0 Unchecked, 4.3s Time] [2022-04-07 14:10:20,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-07 14:10:20,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 119. [2022-04-07 14:10:20,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:10:20,742 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-07 14:10:20,742 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-07 14:10:20,743 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-07 14:10:20,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:20,748 INFO L93 Difference]: Finished difference Result 137 states and 171 transitions. [2022-04-07 14:10:20,748 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 171 transitions. [2022-04-07 14:10:20,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:20,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:20,750 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 137 states. [2022-04-07 14:10:20,750 INFO L87 Difference]: Start difference. First operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 137 states. [2022-04-07 14:10:20,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:20,755 INFO L93 Difference]: Finished difference Result 137 states and 171 transitions. [2022-04-07 14:10:20,755 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 171 transitions. [2022-04-07 14:10:20,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:20,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:20,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:10:20,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:10:20,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-07 14:10:20,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 142 transitions. [2022-04-07 14:10:20,759 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 142 transitions. Word has length 86 [2022-04-07 14:10:20,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:10:20,760 INFO L478 AbstractCegarLoop]: Abstraction has 119 states and 142 transitions. [2022-04-07 14:10:20,760 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-07 14:10:20,760 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 142 transitions. [2022-04-07 14:10:20,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-07 14:10:20,766 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:10:20,767 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:10:20,792 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-07 14:10:20,971 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:20,972 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:10:20,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:10:20,972 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-07 14:10:20,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:10:20,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [416945475] [2022-04-07 14:10:20,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:10:20,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:10:20,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:10:20,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1204914920] [2022-04-07 14:10:20,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:10:20,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:20,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:10:21,000 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-07 14:10:21,028 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-07 14:10:21,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:10:21,062 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 14:10:21,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:10:21,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:10:22,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {5372#true} call ULTIMATE.init(); {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {5372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5372#true} {5372#true} #101#return; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {5372#true} call #t~ret6 := main(); {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {5372#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {5372#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5372#true} {5372#true} #81#return; {5372#true} is VALID [2022-04-07 14:10:22,847 INFO L290 TraceCheckUtils]: 11: Hoare triple {5372#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L272 TraceCheckUtils]: 12: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5372#true} {5372#true} #83#return; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L272 TraceCheckUtils]: 17: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5372#true} {5372#true} #85#return; {5372#true} is VALID [2022-04-07 14:10:22,848 INFO L290 TraceCheckUtils]: 22: Hoare triple {5372#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:22,849 INFO L272 TraceCheckUtils]: 24: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:22,849 INFO L272 TraceCheckUtils]: 29: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 30: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,849 INFO L290 TraceCheckUtils]: 31: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,850 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:22,850 INFO L272 TraceCheckUtils]: 34: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,850 INFO L290 TraceCheckUtils]: 35: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,850 INFO L290 TraceCheckUtils]: 36: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,850 INFO L290 TraceCheckUtils]: 37: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,851 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:22,852 INFO L290 TraceCheckUtils]: 39: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:10:22,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:10:22,852 INFO L272 TraceCheckUtils]: 41: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,852 INFO L290 TraceCheckUtils]: 42: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,852 INFO L290 TraceCheckUtils]: 43: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,852 INFO L290 TraceCheckUtils]: 44: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:10:22,853 INFO L272 TraceCheckUtils]: 46: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 47: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 48: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 49: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:10:22,853 INFO L272 TraceCheckUtils]: 51: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 52: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 53: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,853 INFO L290 TraceCheckUtils]: 54: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,854 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:10:22,856 INFO L290 TraceCheckUtils]: 56: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:10:22,857 INFO L290 TraceCheckUtils]: 57: Hoare triple {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:10:22,857 INFO L272 TraceCheckUtils]: 58: Hoare triple {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,857 INFO L290 TraceCheckUtils]: 59: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,857 INFO L290 TraceCheckUtils]: 60: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,857 INFO L290 TraceCheckUtils]: 61: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,857 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5372#true} {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:10:22,857 INFO L272 TraceCheckUtils]: 63: Hoare triple {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,857 INFO L290 TraceCheckUtils]: 64: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,858 INFO L290 TraceCheckUtils]: 65: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,858 INFO L290 TraceCheckUtils]: 66: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,858 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5372#true} {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:10:22,859 INFO L290 TraceCheckUtils]: 68: Hoare triple {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,860 INFO L290 TraceCheckUtils]: 69: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,860 INFO L290 TraceCheckUtils]: 70: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,860 INFO L272 TraceCheckUtils]: 71: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,860 INFO L290 TraceCheckUtils]: 72: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,860 INFO L290 TraceCheckUtils]: 73: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,860 INFO L290 TraceCheckUtils]: 74: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,861 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,861 INFO L272 TraceCheckUtils]: 76: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,861 INFO L290 TraceCheckUtils]: 77: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,861 INFO L290 TraceCheckUtils]: 78: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,861 INFO L290 TraceCheckUtils]: 79: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,862 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,862 INFO L290 TraceCheckUtils]: 81: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,862 INFO L272 TraceCheckUtils]: 82: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:22,862 INFO L290 TraceCheckUtils]: 83: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:22,862 INFO L290 TraceCheckUtils]: 84: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:22,862 INFO L290 TraceCheckUtils]: 85: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:22,863 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:10:22,863 INFO L272 TraceCheckUtils]: 87: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:10:22,863 INFO L290 TraceCheckUtils]: 88: Hoare triple {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5646#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:10:22,864 INFO L290 TraceCheckUtils]: 89: Hoare triple {5646#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5373#false} is VALID [2022-04-07 14:10:22,864 INFO L290 TraceCheckUtils]: 90: Hoare triple {5373#false} assume !false; {5373#false} is VALID [2022-04-07 14:10:22,864 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-07 14:10:22,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:10:23,777 INFO L290 TraceCheckUtils]: 90: Hoare triple {5373#false} assume !false; {5373#false} is VALID [2022-04-07 14:10:23,777 INFO L290 TraceCheckUtils]: 89: Hoare triple {5646#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5373#false} is VALID [2022-04-07 14:10:23,778 INFO L290 TraceCheckUtils]: 88: Hoare triple {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5646#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:10:23,778 INFO L272 TraceCheckUtils]: 87: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:10:23,779 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,779 INFO L290 TraceCheckUtils]: 85: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,779 INFO L290 TraceCheckUtils]: 84: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,779 INFO L290 TraceCheckUtils]: 83: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,779 INFO L272 TraceCheckUtils]: 82: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,780 INFO L290 TraceCheckUtils]: 81: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,780 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,780 INFO L290 TraceCheckUtils]: 79: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,780 INFO L290 TraceCheckUtils]: 78: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,780 INFO L290 TraceCheckUtils]: 77: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,780 INFO L272 TraceCheckUtils]: 76: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,781 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,781 INFO L290 TraceCheckUtils]: 74: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,781 INFO L290 TraceCheckUtils]: 73: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,781 INFO L290 TraceCheckUtils]: 72: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,781 INFO L272 TraceCheckUtils]: 71: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,782 INFO L290 TraceCheckUtils]: 70: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,782 INFO L290 TraceCheckUtils]: 69: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,784 INFO L290 TraceCheckUtils]: 68: Hoare triple {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:10:23,784 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5372#true} {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #95#return; {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-07 14:10:23,784 INFO L290 TraceCheckUtils]: 66: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,784 INFO L290 TraceCheckUtils]: 65: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,785 INFO L290 TraceCheckUtils]: 64: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,785 INFO L272 TraceCheckUtils]: 63: Hoare triple {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,785 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5372#true} {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #93#return; {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-07 14:10:23,785 INFO L290 TraceCheckUtils]: 61: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,785 INFO L290 TraceCheckUtils]: 60: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,785 INFO L290 TraceCheckUtils]: 59: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,786 INFO L272 TraceCheckUtils]: 58: Hoare triple {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,786 INFO L290 TraceCheckUtils]: 57: Hoare triple {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !false; {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-07 14:10:23,787 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {5719#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-07 14:10:23,788 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5372#true} {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #91#return; {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-07 14:10:23,788 INFO L290 TraceCheckUtils]: 54: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,788 INFO L290 TraceCheckUtils]: 53: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,788 INFO L290 TraceCheckUtils]: 52: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,788 INFO L272 TraceCheckUtils]: 51: Hoare triple {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,789 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5372#true} {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #89#return; {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-07 14:10:23,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,789 INFO L290 TraceCheckUtils]: 48: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,789 INFO L290 TraceCheckUtils]: 47: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,789 INFO L272 TraceCheckUtils]: 46: Hoare triple {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,790 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5372#true} {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #87#return; {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-07 14:10:23,790 INFO L290 TraceCheckUtils]: 44: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,790 INFO L290 TraceCheckUtils]: 43: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,790 INFO L290 TraceCheckUtils]: 42: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,790 INFO L272 TraceCheckUtils]: 41: Hoare triple {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !false; {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-07 14:10:23,792 INFO L290 TraceCheckUtils]: 39: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5756#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-07 14:10:23,793 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:10:23,793 INFO L290 TraceCheckUtils]: 37: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,793 INFO L272 TraceCheckUtils]: 34: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,794 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:10:23,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,794 INFO L272 TraceCheckUtils]: 29: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,795 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:10:23,795 INFO L290 TraceCheckUtils]: 27: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,795 INFO L290 TraceCheckUtils]: 26: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,795 INFO L272 TraceCheckUtils]: 24: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,795 INFO L290 TraceCheckUtils]: 23: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:10:23,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {5372#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:10:23,796 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5372#true} {5372#true} #85#return; {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L290 TraceCheckUtils]: 19: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L290 TraceCheckUtils]: 18: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L272 TraceCheckUtils]: 17: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5372#true} {5372#true} #83#return; {5372#true} is VALID [2022-04-07 14:10:23,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L272 TraceCheckUtils]: 12: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {5372#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5372#true} {5372#true} #81#return; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {5372#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {5372#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {5372#true} call #t~ret6 := main(); {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5372#true} {5372#true} #101#return; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-07 14:10:23,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {5372#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5372#true} is VALID [2022-04-07 14:10:23,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {5372#true} call ULTIMATE.init(); {5372#true} is VALID [2022-04-07 14:10:23,798 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-07 14:10:23,798 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:10:23,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [416945475] [2022-04-07 14:10:23,798 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:10:23,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1204914920] [2022-04-07 14:10:23,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1204914920] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:10:23,798 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:10:23,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-07 14:10:23,799 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710636542] [2022-04-07 14:10:23,799 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:10:23,799 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-07 14:10:23,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:10:23,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:10:23,922 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-07 14:10:23,922 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 14:10:23,922 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:10:23,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 14:10:23,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:10:23,923 INFO L87 Difference]: Start difference. First operand 119 states and 142 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:10:26,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:26,093 INFO L93 Difference]: Finished difference Result 127 states and 150 transitions. [2022-04-07 14:10:26,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 14:10:26,093 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-07 14:10:26,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:10:26,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:10:26,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-07 14:10:26,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:10:26,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-07 14:10:26,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-07 14:10:26,197 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-07 14:10:26,199 INFO L225 Difference]: With dead ends: 127 [2022-04-07 14:10:26,200 INFO L226 Difference]: Without dead ends: 106 [2022-04-07 14:10:26,200 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-07 14:10:26,201 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 12 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 172 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 14:10:26,201 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 269 Invalid, 172 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 14:10:26,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-07 14:10:26,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-07 14:10:26,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:10:26,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-07 14:10:26,298 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-07 14:10:26,298 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-07 14:10:26,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:26,301 INFO L93 Difference]: Finished difference Result 106 states and 125 transitions. [2022-04-07 14:10:26,301 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-07 14:10:26,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:26,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:26,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 106 states. [2022-04-07 14:10:26,302 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 106 states. [2022-04-07 14:10:26,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:26,305 INFO L93 Difference]: Finished difference Result 106 states and 125 transitions. [2022-04-07 14:10:26,306 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-07 14:10:26,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:26,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:26,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:10:26,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:10:26,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-07 14:10:26,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-07 14:10:26,309 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 91 [2022-04-07 14:10:26,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:10:26,310 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-07 14:10:26,310 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:10:26,310 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-07 14:10:26,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-07 14:10:26,311 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:10:26,311 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:10:26,331 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-07 14:10:26,523 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:26,523 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:10:26,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:10:26,524 INFO L85 PathProgramCache]: Analyzing trace with hash -407905887, now seen corresponding path program 2 times [2022-04-07 14:10:26,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:10:26,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437015678] [2022-04-07 14:10:26,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:10:26,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:10:26,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:10:26,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1347524584] [2022-04-07 14:10:26,535 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 14:10:26,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:26,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:10:26,536 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-07 14:10:26,569 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-07 14:10:26,607 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 14:10:26,607 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:10:26,608 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 14:10:26,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:10:26,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:10:29,324 INFO L272 TraceCheckUtils]: 0: Hoare triple {6477#true} call ULTIMATE.init(); {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {6477#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6477#true} {6477#true} #101#return; {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {6477#true} call #t~ret6 := main(); {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {6477#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6477#true} is VALID [2022-04-07 14:10:29,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {6477#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6477#true} {6477#true} #81#return; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {6477#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L272 TraceCheckUtils]: 12: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6477#true} {6477#true} #83#return; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L272 TraceCheckUtils]: 17: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,325 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6477#true} {6477#true} #85#return; {6477#true} is VALID [2022-04-07 14:10:29,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {6477#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:29,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {6548#(<= 1 main_~p~0)} assume !false; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:29,326 INFO L272 TraceCheckUtils]: 24: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,339 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #87#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:29,340 INFO L272 TraceCheckUtils]: 29: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,340 INFO L290 TraceCheckUtils]: 30: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,340 INFO L290 TraceCheckUtils]: 31: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,340 INFO L290 TraceCheckUtils]: 32: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,340 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #89#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:29,341 INFO L272 TraceCheckUtils]: 34: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,341 INFO L290 TraceCheckUtils]: 37: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,341 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #91#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:29,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {6548#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,343 INFO L272 TraceCheckUtils]: 41: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,343 INFO L290 TraceCheckUtils]: 43: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,343 INFO L290 TraceCheckUtils]: 44: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,343 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #87#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,343 INFO L272 TraceCheckUtils]: 46: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L290 TraceCheckUtils]: 47: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L290 TraceCheckUtils]: 48: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L290 TraceCheckUtils]: 49: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #89#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,344 INFO L272 TraceCheckUtils]: 51: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L290 TraceCheckUtils]: 52: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,344 INFO L290 TraceCheckUtils]: 53: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,345 INFO L290 TraceCheckUtils]: 54: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,346 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #91#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,352 INFO L290 TraceCheckUtils]: 56: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,353 INFO L290 TraceCheckUtils]: 57: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,353 INFO L272 TraceCheckUtils]: 58: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,353 INFO L290 TraceCheckUtils]: 59: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,366 INFO L290 TraceCheckUtils]: 60: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,366 INFO L290 TraceCheckUtils]: 61: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,369 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,369 INFO L272 TraceCheckUtils]: 63: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,369 INFO L290 TraceCheckUtils]: 64: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,369 INFO L290 TraceCheckUtils]: 65: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,369 INFO L290 TraceCheckUtils]: 66: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,370 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,370 INFO L272 TraceCheckUtils]: 68: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,370 INFO L290 TraceCheckUtils]: 69: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,370 INFO L290 TraceCheckUtils]: 70: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,370 INFO L290 TraceCheckUtils]: 71: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,371 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,371 INFO L290 TraceCheckUtils]: 73: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,372 INFO L290 TraceCheckUtils]: 74: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,372 INFO L272 TraceCheckUtils]: 75: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,372 INFO L290 TraceCheckUtils]: 76: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,372 INFO L290 TraceCheckUtils]: 77: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,372 INFO L290 TraceCheckUtils]: 78: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,372 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,373 INFO L272 TraceCheckUtils]: 80: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,373 INFO L290 TraceCheckUtils]: 81: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,373 INFO L290 TraceCheckUtils]: 82: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,373 INFO L290 TraceCheckUtils]: 83: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,373 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:29,375 INFO L290 TraceCheckUtils]: 85: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,375 INFO L290 TraceCheckUtils]: 86: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,375 INFO L290 TraceCheckUtils]: 87: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,375 INFO L272 TraceCheckUtils]: 88: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,376 INFO L290 TraceCheckUtils]: 89: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,376 INFO L290 TraceCheckUtils]: 90: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,376 INFO L290 TraceCheckUtils]: 91: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,376 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #93#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,376 INFO L272 TraceCheckUtils]: 93: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:29,377 INFO L290 TraceCheckUtils]: 94: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:29,377 INFO L290 TraceCheckUtils]: 95: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:29,377 INFO L290 TraceCheckUtils]: 96: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:29,377 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #95#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 98: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L272 TraceCheckUtils]: 99: Hoare triple {6478#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 100: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 101: Hoare triple {6478#false} assume !(0 == ~cond); {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 102: Hoare triple {6478#false} assume true; {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {6478#false} {6478#false} #97#return; {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L272 TraceCheckUtils]: 104: Hoare triple {6478#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 105: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 106: Hoare triple {6478#false} assume 0 == ~cond; {6478#false} is VALID [2022-04-07 14:10:29,378 INFO L290 TraceCheckUtils]: 107: Hoare triple {6478#false} assume !false; {6478#false} is VALID [2022-04-07 14:10:29,379 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 93 proven. 4 refuted. 0 times theorem prover too weak. 326 trivial. 0 not checked. [2022-04-07 14:10:29,379 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:10:30,564 INFO L290 TraceCheckUtils]: 107: Hoare triple {6478#false} assume !false; {6478#false} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 106: Hoare triple {6478#false} assume 0 == ~cond; {6478#false} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 105: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-07 14:10:30,565 INFO L272 TraceCheckUtils]: 104: Hoare triple {6478#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6478#false} is VALID [2022-04-07 14:10:30,565 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {6477#true} {6478#false} #97#return; {6478#false} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 102: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 101: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 100: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,565 INFO L272 TraceCheckUtils]: 99: Hoare triple {6478#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,565 INFO L290 TraceCheckUtils]: 98: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {6478#false} is VALID [2022-04-07 14:10:30,566 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #95#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 96: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 95: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 94: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L272 TraceCheckUtils]: 93: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #93#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 91: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 90: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,566 INFO L290 TraceCheckUtils]: 89: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,567 INFO L272 TraceCheckUtils]: 88: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,567 INFO L290 TraceCheckUtils]: 87: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,567 INFO L290 TraceCheckUtils]: 86: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,568 INFO L290 TraceCheckUtils]: 85: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,568 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,568 INFO L290 TraceCheckUtils]: 83: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L290 TraceCheckUtils]: 82: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L290 TraceCheckUtils]: 81: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L272 TraceCheckUtils]: 80: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,569 INFO L290 TraceCheckUtils]: 78: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L290 TraceCheckUtils]: 77: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L290 TraceCheckUtils]: 76: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,569 INFO L272 TraceCheckUtils]: 75: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,570 INFO L290 TraceCheckUtils]: 74: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,570 INFO L290 TraceCheckUtils]: 73: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,570 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,570 INFO L290 TraceCheckUtils]: 71: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,570 INFO L290 TraceCheckUtils]: 70: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,570 INFO L290 TraceCheckUtils]: 69: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,570 INFO L272 TraceCheckUtils]: 68: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,571 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,571 INFO L290 TraceCheckUtils]: 66: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,571 INFO L290 TraceCheckUtils]: 64: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,571 INFO L272 TraceCheckUtils]: 63: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,572 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,572 INFO L290 TraceCheckUtils]: 61: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,572 INFO L290 TraceCheckUtils]: 60: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,572 INFO L290 TraceCheckUtils]: 59: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,572 INFO L272 TraceCheckUtils]: 58: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,572 INFO L290 TraceCheckUtils]: 57: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,573 INFO L290 TraceCheckUtils]: 56: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:10:30,573 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #91#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,573 INFO L290 TraceCheckUtils]: 54: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L290 TraceCheckUtils]: 52: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L272 TraceCheckUtils]: 51: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #89#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,574 INFO L272 TraceCheckUtils]: 46: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,575 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #87#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,575 INFO L290 TraceCheckUtils]: 42: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,575 INFO L272 TraceCheckUtils]: 41: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {6548#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:10:30,576 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #91#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:30,576 INFO L290 TraceCheckUtils]: 37: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,576 INFO L272 TraceCheckUtils]: 34: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,577 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #89#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:30,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,579 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #87#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:30,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,580 INFO L272 TraceCheckUtils]: 24: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {6548#(<= 1 main_~p~0)} assume !false; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 22: Hoare triple {6477#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6548#(<= 1 main_~p~0)} is VALID [2022-04-07 14:10:30,581 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6477#true} {6477#true} #85#return; {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 20: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 19: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 18: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L272 TraceCheckUtils]: 17: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6477#true} {6477#true} #83#return; {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 15: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,582 INFO L272 TraceCheckUtils]: 12: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {6477#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6477#true} is VALID [2022-04-07 14:10:30,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6477#true} {6477#true} #81#return; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {6477#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {6477#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {6477#true} call #t~ret6 := main(); {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6477#true} {6477#true} #101#return; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {6477#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {6477#true} call ULTIMATE.init(); {6477#true} is VALID [2022-04-07 14:10:30,584 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 43 proven. 4 refuted. 0 times theorem prover too weak. 376 trivial. 0 not checked. [2022-04-07 14:10:30,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:10:30,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1437015678] [2022-04-07 14:10:30,585 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:10:30,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1347524584] [2022-04-07 14:10:30,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1347524584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:10:30,585 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:10:30,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 5 [2022-04-07 14:10:30,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151069084] [2022-04-07 14:10:30,585 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:10:30,586 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 108 [2022-04-07 14:10:30,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:10:30,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 14:10:30,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:30,650 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:10:30,650 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:10:30,650 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:10:30,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:10:30,651 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 14:10:31,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:31,125 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-07 14:10:31,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:10:31,125 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 108 [2022-04-07 14:10:31,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:10:31,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 14:10:31,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-07 14:10:31,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 14:10:31,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-07 14:10:31,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-04-07 14:10:31,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:31,229 INFO L225 Difference]: With dead ends: 113 [2022-04-07 14:10:31,229 INFO L226 Difference]: Without dead ends: 101 [2022-04-07 14:10:31,230 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 208 SyntacticMatches, 4 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:10:31,230 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:10:31,230 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 121 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:10:31,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-07 14:10:31,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 101. [2022-04-07 14:10:31,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:10:31,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-07 14:10:31,316 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-07 14:10:31,316 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-07 14:10:31,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:31,319 INFO L93 Difference]: Finished difference Result 101 states and 118 transitions. [2022-04-07 14:10:31,319 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-07 14:10:31,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:31,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:31,320 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 101 states. [2022-04-07 14:10:31,320 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 101 states. [2022-04-07 14:10:31,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:31,322 INFO L93 Difference]: Finished difference Result 101 states and 118 transitions. [2022-04-07 14:10:31,323 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-07 14:10:31,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:31,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:31,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:10:31,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:10:31,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-07 14:10:31,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 118 transitions. [2022-04-07 14:10:31,326 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 118 transitions. Word has length 108 [2022-04-07 14:10:31,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:10:31,326 INFO L478 AbstractCegarLoop]: Abstraction has 101 states and 118 transitions. [2022-04-07 14:10:31,326 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-07 14:10:31,327 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-07 14:10:31,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-07 14:10:31,327 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:10:31,328 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:10:31,354 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-07 14:10:31,552 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-07 14:10:31,552 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:10:31,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:10:31,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 2 times [2022-04-07 14:10:31,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:10:31,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1262069515] [2022-04-07 14:10:31,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:10:31,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:10:31,567 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:10:31,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1959566242] [2022-04-07 14:10:31,568 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 14:10:31,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:31,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:10:31,570 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-07 14:10:31,597 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-07 14:10:31,644 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 14:10:31,644 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:10:31,645 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 14:10:31,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:10:31,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:10:40,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {7635#true} call ULTIMATE.init(); {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {7635#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7635#true} {7635#true} #101#return; {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {7635#true} call #t~ret6 := main(); {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {7635#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7635#true} is VALID [2022-04-07 14:10:40,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {7635#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {7635#true} ~cond := #in~cond; {7661#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:10:40,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {7661#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:10:40,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:10:40,239 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} {7635#true} #81#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:40,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:40,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,240 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #83#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:40,240 INFO L272 TraceCheckUtils]: 17: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #85#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:40,242 INFO L290 TraceCheckUtils]: 22: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,243 INFO L272 TraceCheckUtils]: 24: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,243 INFO L290 TraceCheckUtils]: 26: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,244 INFO L272 TraceCheckUtils]: 29: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,244 INFO L272 TraceCheckUtils]: 34: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,245 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,246 INFO L272 TraceCheckUtils]: 41: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,246 INFO L290 TraceCheckUtils]: 43: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,246 INFO L290 TraceCheckUtils]: 44: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,247 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,247 INFO L272 TraceCheckUtils]: 46: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,247 INFO L290 TraceCheckUtils]: 47: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,247 INFO L290 TraceCheckUtils]: 48: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,247 INFO L290 TraceCheckUtils]: 49: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,248 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,248 INFO L272 TraceCheckUtils]: 51: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,248 INFO L290 TraceCheckUtils]: 52: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,248 INFO L290 TraceCheckUtils]: 53: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,248 INFO L290 TraceCheckUtils]: 54: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,248 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,250 INFO L290 TraceCheckUtils]: 56: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,250 INFO L290 TraceCheckUtils]: 57: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,251 INFO L272 TraceCheckUtils]: 58: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 59: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 60: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 61: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,251 INFO L272 TraceCheckUtils]: 63: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 64: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 65: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,251 INFO L290 TraceCheckUtils]: 66: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,252 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,252 INFO L272 TraceCheckUtils]: 68: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:40,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:40,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:40,252 INFO L290 TraceCheckUtils]: 71: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:40,252 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-07 14:10:40,253 INFO L290 TraceCheckUtils]: 73: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {7636#false} is VALID [2022-04-07 14:10:40,253 INFO L290 TraceCheckUtils]: 74: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:40,253 INFO L272 TraceCheckUtils]: 75: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,253 INFO L290 TraceCheckUtils]: 76: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,253 INFO L290 TraceCheckUtils]: 77: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 78: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L272 TraceCheckUtils]: 80: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 81: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 82: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 83: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 85: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 86: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 87: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L272 TraceCheckUtils]: 88: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 89: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 90: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 91: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L272 TraceCheckUtils]: 93: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 94: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 95: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 96: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:40,254 INFO L290 TraceCheckUtils]: 98: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 99: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 100: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L272 TraceCheckUtils]: 101: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 102: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 103: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 104: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L272 TraceCheckUtils]: 106: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 107: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 108: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 109: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 111: Hoare triple {7636#false} assume !(1 != ~p~0); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L272 TraceCheckUtils]: 112: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 113: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 114: Hoare triple {7636#false} assume 0 == ~cond; {7636#false} is VALID [2022-04-07 14:10:40,255 INFO L290 TraceCheckUtils]: 115: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:40,256 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 234 proven. 21 refuted. 0 times theorem prover too weak. 235 trivial. 0 not checked. [2022-04-07 14:10:40,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 115: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 114: Hoare triple {7636#false} assume 0 == ~cond; {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 113: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L272 TraceCheckUtils]: 112: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 111: Hoare triple {7636#false} assume !(1 != ~p~0); {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 109: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 108: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,542 INFO L290 TraceCheckUtils]: 107: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,542 INFO L272 TraceCheckUtils]: 106: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,542 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 104: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 103: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 102: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L272 TraceCheckUtils]: 101: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 100: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 99: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 98: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 96: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 95: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 94: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L272 TraceCheckUtils]: 93: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 91: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 90: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 89: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L272 TraceCheckUtils]: 88: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 87: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 86: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-07 14:10:41,543 INFO L290 TraceCheckUtils]: 85: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-07 14:10:41,544 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 83: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 82: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 81: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L272 TraceCheckUtils]: 80: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 78: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 77: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 76: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L272 TraceCheckUtils]: 75: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 74: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-07 14:10:41,544 INFO L290 TraceCheckUtils]: 73: Hoare triple {8117#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {7636#false} is VALID [2022-04-07 14:10:41,545 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #91#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-07 14:10:41,545 INFO L290 TraceCheckUtils]: 71: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,545 INFO L290 TraceCheckUtils]: 70: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,545 INFO L290 TraceCheckUtils]: 69: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,545 INFO L272 TraceCheckUtils]: 68: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,545 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #89#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-07 14:10:41,545 INFO L290 TraceCheckUtils]: 66: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 65: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 64: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L272 TraceCheckUtils]: 63: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #87#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 61: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 60: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 59: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L272 TraceCheckUtils]: 58: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,546 INFO L290 TraceCheckUtils]: 57: Hoare triple {8117#(<= main_~d~0 main_~r~0)} assume !false; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-07 14:10:41,547 INFO L290 TraceCheckUtils]: 56: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-07 14:10:41,548 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:41,548 INFO L290 TraceCheckUtils]: 54: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,548 INFO L290 TraceCheckUtils]: 53: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,548 INFO L290 TraceCheckUtils]: 52: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,548 INFO L272 TraceCheckUtils]: 51: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,548 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 49: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 48: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 47: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L272 TraceCheckUtils]: 46: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,550 INFO L272 TraceCheckUtils]: 41: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:41,551 INFO L290 TraceCheckUtils]: 39: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:10:41,551 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-07 14:10:41,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,551 INFO L272 TraceCheckUtils]: 34: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,552 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-07 14:10:41,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,552 INFO L272 TraceCheckUtils]: 29: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,553 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-07 14:10:41,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,553 INFO L272 TraceCheckUtils]: 24: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-07 14:10:41,555 INFO L290 TraceCheckUtils]: 22: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-07 14:10:41,556 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #85#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:41,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,556 INFO L272 TraceCheckUtils]: 17: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,556 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #83#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:41,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-07 14:10:41,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-07 14:10:41,557 INFO L272 TraceCheckUtils]: 12: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:41,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} {7635#true} #81#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-07 14:10:41,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:10:41,558 INFO L290 TraceCheckUtils]: 8: Hoare triple {8318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:10:41,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {7635#true} ~cond := #in~cond; {8318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 14:10:41,558 INFO L272 TraceCheckUtils]: 6: Hoare triple {7635#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-07 14:10:41,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {7635#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7635#true} is VALID [2022-04-07 14:10:41,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {7635#true} call #t~ret6 := main(); {7635#true} is VALID [2022-04-07 14:10:41,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7635#true} {7635#true} #101#return; {7635#true} is VALID [2022-04-07 14:10:41,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-07 14:10:41,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {7635#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7635#true} is VALID [2022-04-07 14:10:41,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {7635#true} call ULTIMATE.init(); {7635#true} is VALID [2022-04-07 14:10:41,559 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 439 trivial. 0 not checked. [2022-04-07 14:10:41,559 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:10:41,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1262069515] [2022-04-07 14:10:41,559 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:10:41,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1959566242] [2022-04-07 14:10:41,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1959566242] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:10:41,560 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:10:41,560 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-07 14:10:41,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170923508] [2022-04-07 14:10:41,560 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:10:41,560 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) Word has length 116 [2022-04-07 14:10:41,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:10:41,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-07 14:10:41,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:41,665 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 14:10:41,666 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:10:41,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 14:10:41,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-07 14:10:41,666 INFO L87 Difference]: Start difference. First operand 101 states and 118 transitions. Second operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-07 14:10:43,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:43,562 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2022-04-07 14:10:43,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 14:10:43,563 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) Word has length 116 [2022-04-07 14:10:43,563 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:10:43,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-07 14:10:43,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-07 14:10:43,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-07 14:10:43,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-07 14:10:43,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-07 14:10:43,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:10:43,652 INFO L225 Difference]: With dead ends: 105 [2022-04-07 14:10:43,652 INFO L226 Difference]: Without dead ends: 0 [2022-04-07 14:10:43,653 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 220 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2022-04-07 14:10:43,653 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-07 14:10:43,653 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 184 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-07 14:10:43,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-07 14:10:43,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-07 14:10:43,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:10:43,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 14:10:43,654 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 14:10:43,654 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 14:10:43,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:43,654 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 14:10:43,654 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 14:10:43,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:43,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:43,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-07 14:10:43,655 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-07 14:10:43,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:10:43,655 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 14:10:43,655 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 14:10:43,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:43,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:10:43,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:10:43,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:10:43,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 14:10:43,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-07 14:10:43,655 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 116 [2022-04-07 14:10:43,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:10:43,655 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-07 14:10:43,656 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-07 14:10:43,656 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 14:10:43,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:10:43,657 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 14:10:43,674 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-07 14:10:43,858 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:10:43,860 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-07 14:10:46,916 INFO L882 garLoopResultBuilder]: For program point L29(line 29) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L60(line 60) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= main_~d~0 .cse0) (<= .cse0 1) (<= 1 .cse0) (= main_~p~0 1))) [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 22 63) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point L54(lines 54 57) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point L54-2(lines 22 63) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point L48(lines 46 58) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse2 (* main_~q~0 .cse1)) (.cse0 (mod main_~A~0 4294967296))) (and (= (+ .cse0 main_~d~0) (+ main_~r~0 (* main_~p~0 .cse1) .cse2)) (= main_~d~0 .cse1) (<= .cse1 1) (<= 1 .cse1) (= (+ main_~r~0 .cse2) .cse0)))) [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 22 63) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L36-2(lines 36 44) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-07 14:10:46,917 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point L61(line 61) no Hoare annotation was computed. [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-07 14:10:46,917 INFO L878 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (and (<= (mod main_~A~0 4294967296) 1) (<= (mod main_~B~0 4294967296) 1)) [2022-04-07 14:10:46,917 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-07 14:10:46,917 INFO L882 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L878 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (let ((.cse1 (<= .cse0 1)) (.cse3 (= main_~q~0 0)) (.cse2 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 .cse0)) (= main_~p~0 2) .cse1 (= (+ main_~r~0 (* main_~q~0 .cse0)) .cse2) .cse3 (<= .cse0 main_~r~0)) (let ((.cse4 (+ main_~d~0 main_~r~0))) (and (= .cse2 (+ main_~r~0 .cse0)) (<= 0 main_~r~0) (= .cse4 .cse2) (<= 1 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div .cse4 4294967296) 1)) (= main_~q~0 1) .cse5)) (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) .cse1 .cse3 (<= .cse2 main_~r~0) .cse5)))) [2022-04-07 14:10:46,918 INFO L878 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (let ((.cse1 (<= .cse0 1)) (.cse3 (= main_~q~0 0)) (.cse2 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 .cse0)) (= main_~p~0 2) .cse1 (= (+ main_~r~0 (* main_~q~0 .cse0)) .cse2) .cse3 (<= .cse0 main_~r~0)) (let ((.cse4 (+ main_~d~0 main_~r~0))) (and (= .cse2 (+ main_~r~0 .cse0)) (<= 0 main_~r~0) (= .cse4 .cse2) (<= 1 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div .cse4 4294967296) 1)) (= main_~q~0 1) .cse5)) (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) .cse1 .cse3 (<= .cse2 main_~r~0) .cse5)))) [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point L39(lines 36 44) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L878 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-07 14:10:46,918 INFO L878 garLoopResultBuilder]: At program point L37-1(line 37) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-07 14:10:46,918 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-07 14:10:46,918 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-07 14:10:46,919 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-07 14:10:46,919 INFO L882 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-07 14:10:46,919 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-07 14:10:46,919 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-07 14:10:46,922 INFO L719 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:10:46,923 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 14:10:46,926 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-07 14:10:46,926 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-07 14:10:46,928 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-07 14:10:46,929 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-07 14:10:46,930 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-07 14:10:46,932 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-07 14:10:46,933 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-07 14:10:46,933 INFO L163 areAnnotationChecker]: CFG has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-07 14:10:46,950 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 02:10:46 BoogieIcfgContainer [2022-04-07 14:10:46,950 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 14:10:46,952 INFO L158 Benchmark]: Toolchain (without parser) took 143752.54ms. Allocated memory was 172.0MB in the beginning and 251.7MB in the end (delta: 79.7MB). Free memory was 118.2MB in the beginning and 179.5MB in the end (delta: -61.3MB). Peak memory consumption was 122.2MB. Max. memory is 8.0GB. [2022-04-07 14:10:46,956 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 172.0MB. Free memory was 135.1MB in the beginning and 135.0MB in the end (delta: 74.5kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 14:10:46,956 INFO L158 Benchmark]: CACSL2BoogieTranslator took 244.86ms. Allocated memory was 172.0MB in the beginning and 209.7MB in the end (delta: 37.7MB). Free memory was 118.0MB in the beginning and 185.1MB in the end (delta: -67.1MB). Peak memory consumption was 10.3MB. Max. memory is 8.0GB. [2022-04-07 14:10:46,957 INFO L158 Benchmark]: Boogie Preprocessor took 30.30ms. Allocated memory is still 209.7MB. Free memory was 185.1MB in the beginning and 183.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-07 14:10:46,959 INFO L158 Benchmark]: RCFGBuilder took 394.31ms. Allocated memory is still 209.7MB. Free memory was 183.8MB in the beginning and 171.5MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 14:10:46,959 INFO L158 Benchmark]: TraceAbstraction took 143072.83ms. Allocated memory was 209.7MB in the beginning and 251.7MB in the end (delta: 41.9MB). Free memory was 171.2MB in the beginning and 179.5MB in the end (delta: -8.3MB). Peak memory consumption was 138.1MB. Max. memory is 8.0GB. [2022-04-07 14:10:46,960 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 172.0MB. Free memory was 135.1MB in the beginning and 135.0MB in the end (delta: 74.5kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 244.86ms. Allocated memory was 172.0MB in the beginning and 209.7MB in the end (delta: 37.7MB). Free memory was 118.0MB in the beginning and 185.1MB in the end (delta: -67.1MB). Peak memory consumption was 10.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 30.30ms. Allocated memory is still 209.7MB. Free memory was 185.1MB in the beginning and 183.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 394.31ms. Allocated memory is still 209.7MB. Free memory was 183.8MB in the beginning and 171.5MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 143072.83ms. Allocated memory was 209.7MB in the beginning and 251.7MB in the end (delta: 41.9MB). Free memory was 171.2MB in the beginning and 179.5MB in the end (delta: -8.3MB). Peak memory consumption was 138.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 41 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 143.0s, OverallIterations: 12, TraceHistogramMax: 16, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 31.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 3.1s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 363 SdHoareTripleChecker+Valid, 9.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 316 mSDsluCounter, 1790 SdHoareTripleChecker+Invalid, 9.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1285 mSDsCounter, 421 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1827 IncrementalHoareTripleChecker+Invalid, 2248 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 421 mSolverCounterUnsat, 505 mSDtfsCounter, 1827 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1335 GetRequests, 1193 SyntacticMatches, 12 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 9.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=119occurred in iteration=9, InterpolantAutomatonStates: 98, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 12 MinimizatonAttempts, 44 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 17 LocationsWithAnnotation, 76 PreInvPairs, 100 NumberOfFragments, 707 HoareAnnotationTreeSize, 76 FomulaSimplifications, 99 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 17 FomulaSimplificationsInter, 3774 FormulaSimplificationTreeSizeReductionInter, 2.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 104.0s InterpolantComputationTime, 776 NumberOfCodeBlocks, 776 NumberOfCodeBlocksAsserted, 14 NumberOfCheckSat, 1333 ConstructedInterpolants, 0 QuantifiedInterpolants, 7037 SizeOfPredicates, 30 NumberOfNonLiveVariables, 1620 ConjunctsInSsa, 145 ConjunctsInUnsatCore, 19 InterpolantComputations, 6 PerfectInterpolantSequences, 3367/3483 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: ((((((d == p * (B % 4294967296) && p == 2) && 1 <= B % 4294967296) && r + q * (B % 4294967296) == A % 4294967296) && q == 0) && B % 4294967296 <= r) && 0 < (-1 * r + 1) / 4294967296 + 1) || ((((((d == p * (B % 4294967296) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && r + q * (B % 4294967296) == A % 4294967296) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) && p == 1) RESULT: Ultimate proved your program to be correct! [2022-04-07 14:10:47,152 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...