/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 14:09:26,683 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 14:09:26,685 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 14:09:26,727 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 14:09:26,727 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 14:09:26,728 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 14:09:26,731 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 14:09:26,733 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 14:09:26,735 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 14:09:26,738 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 14:09:26,739 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 14:09:26,740 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 14:09:26,741 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 14:09:26,743 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 14:09:26,744 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 14:09:26,746 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 14:09:26,747 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 14:09:26,747 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 14:09:26,749 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 14:09:26,754 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 14:09:26,755 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 14:09:26,760 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 14:09:26,760 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 14:09:26,761 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 14:09:26,762 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 14:09:26,768 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 14:09:26,768 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 14:09:26,768 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 14:09:26,769 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 14:09:26,769 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 14:09:26,770 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 14:09:26,770 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 14:09:26,772 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 14:09:26,772 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 14:09:26,773 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 14:09:26,773 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 14:09:26,773 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 14:09:26,774 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 14:09:26,774 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 14:09:26,774 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 14:09:26,775 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 14:09:26,776 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 14:09:26,777 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:09:26,805 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 14:09:26,805 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 14:09:26,805 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 14:09:26,805 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 14:09:26,806 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 14:09:26,806 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 14:09:26,806 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 14:09:26,807 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 14:09:26,807 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 14:09:26,807 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 14:09:26,808 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 14:09:26,809 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 14:09:26,809 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 14:09:26,809 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 14:09:26,809 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 14:09:26,809 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:09:26,809 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 14:09:26,809 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 14:09:26,810 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 14:09:26,810 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:09:27,021 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 14:09:27,044 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 14:09:27,046 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 14:09:27,047 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 14:09:27,048 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 14:09:27,049 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-07 14:09:27,115 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a98ef49e/f6074ec05d234f93a3a988d3ffc9e635/FLAGb822c6db3 [2022-04-07 14:09:27,406 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 14:09:27,407 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-07 14:09:27,411 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a98ef49e/f6074ec05d234f93a3a988d3ffc9e635/FLAGb822c6db3 [2022-04-07 14:09:27,839 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9a98ef49e/f6074ec05d234f93a3a988d3ffc9e635 [2022-04-07 14:09:27,841 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 14:09:27,841 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 14:09:27,844 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 14:09:27,844 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 14:09:27,847 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 14:09:27,847 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:09:27" (1/1) ... [2022-04-07 14:09:27,848 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@63fd4a3a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:27, skipping insertion in model container [2022-04-07 14:09:27,848 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:09:27" (1/1) ... [2022-04-07 14:09:27,854 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 14:09:27,865 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 14:09:28,003 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_valuebound2.c[538,551] [2022-04-07 14:09:28,018 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:09:28,025 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 14:09:28,035 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_valuebound2.c[538,551] [2022-04-07 14:09:28,043 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:09:28,054 INFO L208 MainTranslator]: Completed translation [2022-04-07 14:09:28,054 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28 WrapperNode [2022-04-07 14:09:28,055 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 14:09:28,055 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 14:09:28,056 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 14:09:28,056 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 14:09:28,064 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,064 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,069 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,069 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,075 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,079 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,080 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,081 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 14:09:28,082 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 14:09:28,082 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 14:09:28,082 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 14:09:28,083 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (1/1) ... [2022-04-07 14:09:28,092 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:09:28,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:28,114 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:09:28,115 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:09:28,144 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 14:09:28,144 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 14:09:28,145 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 14:09:28,145 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 14:09:28,147 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 14:09:28,148 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 14:09:28,148 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 14:09:28,148 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 14:09:28,148 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 14:09:28,148 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 14:09:28,149 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-07 14:09:28,149 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 14:09:28,152 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 14:09:28,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 14:09:28,199 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 14:09:28,201 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 14:09:28,328 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 14:09:28,334 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 14:09:28,334 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-07 14:09:28,335 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:09:28 BoogieIcfgContainer [2022-04-07 14:09:28,335 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 14:09:28,337 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 14:09:28,337 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 14:09:28,340 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 14:09:28,340 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 02:09:27" (1/3) ... [2022-04-07 14:09:28,341 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d407c57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:09:28, skipping insertion in model container [2022-04-07 14:09:28,341 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:09:28" (2/3) ... [2022-04-07 14:09:28,341 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d407c57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:09:28, skipping insertion in model container [2022-04-07 14:09:28,341 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:09:28" (3/3) ... [2022-04-07 14:09:28,342 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-07 14:09:28,346 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 14:09:28,346 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 14:09:28,383 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 14:09:28,404 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:09:28,405 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 14:09:28,439 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:09:28,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 14:09:28,444 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:28,459 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:09:28,460 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:28,465 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:28,465 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-07 14:09:28,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:28,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [929018183] [2022-04-07 14:09:28,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:28,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:28,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:28,680 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:09:28,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:28,706 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:09:28,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-07 14:09:28,706 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-07 14:09:28,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:09:28,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:28,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-07 14:09:28,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:09:28,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:28,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-07 14:09:28,731 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:09:28,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:28,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-07 14:09:28,745 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:09:28,746 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:09:28,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-07 14:09:28,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-07 14:09:28,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-07 14:09:28,746 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:09:28,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-07 14:09:28,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-07 14:09:28,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-07 14:09:28,748 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-07 14:09:28,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-07 14:09:28,749 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:09:28,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-07 14:09:28,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-07 14:09:28,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-07 14:09:28,751 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-07 14:09:28,751 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:09:28,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-07 14:09:28,751 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:09:28,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-07 14:09:28,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-07 14:09:28,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-07 14:09:28,752 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:09:28,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:28,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [929018183] [2022-04-07 14:09:28,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [929018183] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:09:28,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:09:28,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 14:09:28,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1033281693] [2022-04-07 14:09:28,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:28,761 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:09:28,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:28,765 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:09:28,805 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:09:28,806 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 14:09:28,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:28,837 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 14:09:28,837 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 14:09:28,842 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:09:29,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,008 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-07 14:09:29,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 14:09:29,009 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:09:29,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:29,010 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:09:29,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-07 14:09:29,022 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:09:29,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-07 14:09:29,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-07 14:09:29,152 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:09:29,175 INFO L225 Difference]: With dead ends: 69 [2022-04-07 14:09:29,175 INFO L226 Difference]: Without dead ends: 33 [2022-04-07 14:09:29,178 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:09:29,180 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:09:29,181 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:09:29,192 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-07 14:09:29,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-07 14:09:29,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:29,207 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:09:29,208 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:09:29,208 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:09:29,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,214 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-07 14:09:29,214 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:09:29,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:29,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:29,215 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:09:29,216 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:09:29,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,221 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-07 14:09:29,221 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:09:29,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:29,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:29,222 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:29,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:29,223 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:09:29,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-07 14:09:29,227 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-07 14:09:29,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:29,228 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-07 14:09:29,228 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:09:29,228 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-07 14:09:29,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 14:09:29,229 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:29,229 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:09:29,230 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 14:09:29,230 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:29,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:29,230 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-07 14:09:29,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:29,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [994295528] [2022-04-07 14:09:29,231 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:29,231 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:29,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:29,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:09:29,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:29,316 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:09:29,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,317 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-07 14:09:29,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:09:29,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:29,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-07 14:09:29,334 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:09:29,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:29,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-07 14:09:29,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:09:29,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:29,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-07 14:09:29,350 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:09:29,350 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:09:29,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-07 14:09:29,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-07 14:09:29,351 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:09:29,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {275#true} is VALID [2022-04-07 14:09:29,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-07 14:09:29,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-07 14:09:29,352 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {275#true} is VALID [2022-04-07 14:09:29,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,353 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,353 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-07 14:09:29,353 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:09:29,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-07 14:09:29,353 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-07 14:09:29,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-07 14:09:29,354 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-07 14:09:29,354 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:09:29,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-07 14:09:29,355 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:09:29,356 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:09:29,356 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-07 14:09:29,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-07 14:09:29,357 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:09:29,357 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:29,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [994295528] [2022-04-07 14:09:29,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [994295528] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:09:29,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:09:29,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 14:09:29,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1236235527] [2022-04-07 14:09:29,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:29,359 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:09:29,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:29,360 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:09:29,378 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:09:29,378 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:09:29,378 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:29,379 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:09:29,379 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 14:09:29,379 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:09:29,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,831 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-07 14:09:29,831 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-07 14:09:29,831 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:09:29,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:29,832 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:09:29,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:09:29,835 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:09:29,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:09:29,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-07 14:09:29,908 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:09:29,913 INFO L225 Difference]: With dead ends: 46 [2022-04-07 14:09:29,914 INFO L226 Difference]: Without dead ends: 44 [2022-04-07 14:09:29,917 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:09:29,922 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:09:29,924 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:09:29,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-07 14:09:29,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-07 14:09:29,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:29,932 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:09:29,933 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:09:29,933 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:09:29,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,936 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-07 14:09:29,936 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-07 14:09:29,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:29,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:29,938 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:09:29,938 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:09:29,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:29,956 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-07 14:09:29,956 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-07 14:09:29,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:29,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:29,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:29,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:29,958 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:09:29,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-07 14:09:29,960 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-07 14:09:29,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:29,961 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-07 14:09:29,961 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:09:29,961 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-07 14:09:29,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-07 14:09:29,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:29,962 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:09:29,962 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-07 14:09:29,962 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:29,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:29,965 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-07 14:09:29,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:29,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773042675] [2022-04-07 14:09:29,966 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:29,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:30,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 14:09:30,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,106 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:09:30,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,106 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-07 14:09:30,106 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 14:09:30,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-07 14:09:30,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 14:09:30,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,128 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-07 14:09:30,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 14:09:30,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-07 14:09:30,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-07 14:09:30,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,151 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:09:30,151 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:09:30,151 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:09:30,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-07 14:09:30,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-07 14:09:30,152 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:09:30,152 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {517#true} is VALID [2022-04-07 14:09:30,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-07 14:09:30,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-07 14:09:30,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {517#true} is VALID [2022-04-07 14:09:30,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,154 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-07 14:09:30,154 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:09:30,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-07 14:09:30,156 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:09:30,171 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:09:30,171 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:09:30,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-07 14:09:30,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-07 14:09:30,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-07 14:09:30,173 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:09:30,174 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:09:30,174 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:09:30,175 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-07 14:09:30,175 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-07 14:09:30,175 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:09:30,176 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:30,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773042675] [2022-04-07 14:09:30,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1773042675] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:09:30,176 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:09:30,176 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 14:09:30,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151582898] [2022-04-07 14:09:30,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:30,177 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:09:30,177 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:30,177 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:09:30,199 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:09:30,199 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:09:30,200 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:30,200 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:09:30,200 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 14:09:30,201 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:09:30,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:30,664 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-07 14:09:30,665 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-07 14:09:30,665 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:09:30,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:30,665 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:09:30,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:09:30,668 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:09:30,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-07 14:09:30,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-07 14:09:30,737 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:09:30,739 INFO L225 Difference]: With dead ends: 50 [2022-04-07 14:09:30,739 INFO L226 Difference]: Without dead ends: 48 [2022-04-07 14:09:30,740 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:09:30,740 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:09:30,741 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:09:30,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-07 14:09:30,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-07 14:09:30,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:30,748 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:09:30,749 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:09:30,749 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:09:30,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:30,752 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-07 14:09:30,752 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-07 14:09:30,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:30,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:30,754 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:09:30,754 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:09:30,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:30,757 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-07 14:09:30,757 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-07 14:09:30,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:30,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:30,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:30,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:30,758 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:09:30,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-07 14:09:30,760 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-07 14:09:30,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:30,760 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-07 14:09:30,761 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:09:30,761 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-07 14:09:30,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-07 14:09:30,762 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:30,762 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:09:30,762 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-07 14:09:30,762 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:30,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:30,763 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-07 14:09:30,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:30,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056522531] [2022-04-07 14:09:30,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:30,763 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:30,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:30,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1635744644] [2022-04-07 14:09:30,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:30,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:30,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:30,779 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:09:30,795 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:09:30,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-07 14:09:30,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:30,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:31,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-07 14:09:31,420 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:09:31,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:09:31,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-07 14:09:31,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-07 14:09:31,420 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:09:31,421 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {781#true} is VALID [2022-04-07 14:09:31,421 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:09:31,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:09:31,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:09:31,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-07 14:09:31,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-07 14:09:31,421 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {781#true} is VALID [2022-04-07 14:09:31,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:09:31,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:09:31,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:09:31,422 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {781#true} {781#true} #83#return; {781#true} is VALID [2022-04-07 14:09:31,422 INFO L272 TraceCheckUtils]: 17: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-07 14:09:31,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:09:31,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:31,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {844#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:31,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {844#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #85#return; {851#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:09:31,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {851#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:31,426 INFO L290 TraceCheckUtils]: 23: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:31,426 INFO L272 TraceCheckUtils]: 24: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {781#true} is VALID [2022-04-07 14:09:31,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:09:31,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:09:31,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:09:31,427 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:31,427 INFO L272 TraceCheckUtils]: 29: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {781#true} is VALID [2022-04-07 14:09:31,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-07 14:09:31,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-07 14:09:31,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-07 14:09:31,428 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:31,429 INFO L272 TraceCheckUtils]: 34: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {892#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:31,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {892#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {896#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:31,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {896#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-07 14:09:31,430 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-07 14:09:31,431 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:09:31,431 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:09:31,431 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:31,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056522531] [2022-04-07 14:09:31,431 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:09:31,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1635744644] [2022-04-07 14:09:31,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1635744644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:09:31,432 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:09:31,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-07 14:09:31,432 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1899473767] [2022-04-07 14:09:31,432 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:31,433 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-07 14:09:31,433 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:31,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 14:09:31,467 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:09:31,468 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 14:09:31,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:31,469 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 14:09:31,469 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-07 14:09:31,469 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 14:09:31,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:31,910 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-07 14:09:31,910 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 14:09:31,910 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-07 14:09:31,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:31,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 14:09:31,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-07 14:09:31,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 14:09:31,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-07 14:09:31,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-07 14:09:31,996 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:09:31,998 INFO L225 Difference]: With dead ends: 69 [2022-04-07 14:09:31,998 INFO L226 Difference]: Without dead ends: 55 [2022-04-07 14:09:31,999 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:09:32,000 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 23 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:09:32,000 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 180 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:09:32,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-07 14:09:32,023 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-07 14:09:32,023 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:32,024 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:09:32,024 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:09:32,025 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:09:32,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:32,028 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-07 14:09:32,028 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:09:32,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:32,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:32,029 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:09:32,029 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:09:32,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:32,032 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-07 14:09:32,032 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:09:32,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:32,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:32,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:32,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:32,033 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:09:32,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-07 14:09:32,036 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-07 14:09:32,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:32,036 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-07 14:09:32,036 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 14:09:32,036 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-07 14:09:32,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-07 14:09:32,037 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:32,037 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:09:32,063 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:09:32,251 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:09:32,252 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:32,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:32,252 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-07 14:09:32,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:32,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1501473247] [2022-04-07 14:09:32,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:32,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:32,284 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:32,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [526945037] [2022-04-07 14:09:32,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:32,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:32,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:32,288 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:09:32,296 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:09:32,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:32,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 14:09:32,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:32,354 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:33,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-07 14:09:33,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1200#true} is VALID [2022-04-07 14:09:33,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:33,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-07 14:09:33,630 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-07 14:09:33,630 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:09:33,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:33,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:33,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} {1200#true} #83#return; {1255#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-07 14:09:33,636 INFO L272 TraceCheckUtils]: 17: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:33,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:33,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,637 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1255#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1255#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-07 14:09:33,638 INFO L290 TraceCheckUtils]: 22: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,639 INFO L272 TraceCheckUtils]: 24: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:33,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:33,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,640 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,640 INFO L272 TraceCheckUtils]: 29: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:33,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:33,640 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,641 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,641 INFO L272 TraceCheckUtils]: 34: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:33,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:33,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:33,642 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:33,642 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,643 INFO L290 TraceCheckUtils]: 39: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-07 14:09:33,645 INFO L272 TraceCheckUtils]: 41: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:33,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:33,646 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-07 14:09:33,646 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-07 14:09:33,646 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:09:33,646 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:09:34,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-07 14:09:34,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-07 14:09:34,084 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:34,084 INFO L272 TraceCheckUtils]: 41: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:34,085 INFO L290 TraceCheckUtils]: 40: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:09:34,085 INFO L290 TraceCheckUtils]: 39: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:09:34,086 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:09:34,086 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,086 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,086 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,086 INFO L272 TraceCheckUtils]: 34: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,088 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:09:34,088 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,088 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,088 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,088 INFO L272 TraceCheckUtils]: 29: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,089 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:09:34,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,089 INFO L272 TraceCheckUtils]: 24: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:09:34,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {1200#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:09:34,090 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1200#true} #85#return; {1200#true} is VALID [2022-04-07 14:09:34,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,090 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,090 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,090 INFO L272 TraceCheckUtils]: 17: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,090 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1200#true} {1200#true} #83#return; {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-07 14:09:34,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-07 14:09:34,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1200#true} is VALID [2022-04-07 14:09:34,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-07 14:09:34,093 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 14:09:34,093 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:34,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1501473247] [2022-04-07 14:09:34,093 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:09:34,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [526945037] [2022-04-07 14:09:34,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [526945037] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 14:09:34,094 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 14:09:34,094 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-07 14:09:34,094 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1308598996] [2022-04-07 14:09:34,094 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:34,094 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-07 14:09:34,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:34,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:34,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:09:34,129 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:09:34,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:34,130 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:09:34,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:09:34,130 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:34,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:34,373 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-07 14:09:34,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:09:34,374 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-07 14:09:34,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:34,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:34,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 14:09:34,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:34,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 14:09:34,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-07 14:09:34,429 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:09:34,431 INFO L225 Difference]: With dead ends: 68 [2022-04-07 14:09:34,431 INFO L226 Difference]: Without dead ends: 66 [2022-04-07 14:09:34,431 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-07 14:09:34,432 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:09:34,432 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:09:34,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-07 14:09:34,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-07 14:09:34,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:34,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:09:34,457 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:09:34,457 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:09:34,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:34,460 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-07 14:09:34,461 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-07 14:09:34,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:34,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:34,461 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-07 14:09:34,462 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-07 14:09:34,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:34,465 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-07 14:09:34,465 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-07 14:09:34,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:34,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:34,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:34,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:34,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-07 14:09:34,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-07 14:09:34,468 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-07 14:09:34,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:34,469 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-07 14:09:34,469 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:34,469 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-07 14:09:34,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-07 14:09:34,470 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:34,470 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:09:34,498 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 14:09:34,691 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:09:34,692 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:34,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:34,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-07 14:09:34,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:34,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237992554] [2022-04-07 14:09:34,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:34,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:34,705 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:34,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1543592149] [2022-04-07 14:09:34,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:34,705 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:34,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:34,709 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:09:34,710 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:09:34,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:34,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-07 14:09:34,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:34,780 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:35,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-07 14:09:35,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1808#true} is VALID [2022-04-07 14:09:35,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-07 14:09:35,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-07 14:09:35,547 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,548 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:09:35,550 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:35,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:35,551 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} {1808#true} #85#return; {1878#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:09:35,551 INFO L290 TraceCheckUtils]: 22: Hoare triple {1878#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:35,552 INFO L290 TraceCheckUtils]: 23: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:35,552 INFO L272 TraceCheckUtils]: 24: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,553 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:35,553 INFO L272 TraceCheckUtils]: 29: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,553 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,554 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:35,554 INFO L272 TraceCheckUtils]: 34: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,554 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,555 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-07 14:09:35,556 INFO L290 TraceCheckUtils]: 39: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,557 INFO L290 TraceCheckUtils]: 40: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,557 INFO L272 TraceCheckUtils]: 41: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,557 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,557 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,558 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,558 INFO L272 TraceCheckUtils]: 46: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,558 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,559 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,560 INFO L272 TraceCheckUtils]: 51: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:35,560 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:35,561 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-07 14:09:35,561 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-07 14:09:35,561 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:09:35,561 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:09:35,972 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-07 14:09:35,973 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-07 14:09:35,973 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:35,974 INFO L272 TraceCheckUtils]: 51: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:35,980 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,980 INFO L272 TraceCheckUtils]: 46: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,981 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:35,981 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:35,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:35,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:35,982 INFO L272 TraceCheckUtils]: 41: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:35,982 INFO L290 TraceCheckUtils]: 40: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,175 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,175 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,175 INFO L272 TraceCheckUtils]: 34: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,176 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,176 INFO L272 TraceCheckUtils]: 29: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,177 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,177 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,177 INFO L272 TraceCheckUtils]: 24: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {1808#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:09:36,178 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1808#true} {1808#true} #85#return; {1808#true} is VALID [2022-04-07 14:09:36,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-07 14:09:36,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-07 14:09:36,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1808#true} is VALID [2022-04-07 14:09:36,181 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-07 14:09:36,181 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:09:36,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:36,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237992554] [2022-04-07 14:09:36,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:09:36,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1543592149] [2022-04-07 14:09:36,182 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1543592149] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 14:09:36,182 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 14:09:36,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-07 14:09:36,182 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [776310816] [2022-04-07 14:09:36,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:36,182 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:09:36,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:36,183 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:09:36,213 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:09:36,213 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:09:36,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:36,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:09:36,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:09:36,214 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 14:09:38,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:38,630 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-07 14:09:38,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:09:38,631 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:09:38,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:38,631 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:09:38,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-07 14:09:38,632 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:09:38,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-07 14:09:38,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-07 14:09:38,687 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:09:38,689 INFO L225 Difference]: With dead ends: 76 [2022-04-07 14:09:38,689 INFO L226 Difference]: Without dead ends: 74 [2022-04-07 14:09:38,690 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:09:38,691 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:09:38,691 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.2s Time] [2022-04-07 14:09:38,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-07 14:09:38,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-07 14:09:38,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:38,713 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:09:38,713 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:09:38,713 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:09:38,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:38,716 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-07 14:09:38,716 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-07 14:09:38,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:38,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:38,717 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-07 14:09:38,717 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-07 14:09:38,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:38,720 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-07 14:09:38,720 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-07 14:09:38,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:38,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:38,721 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:38,721 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:38,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:09:38,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-07 14:09:38,724 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-07 14:09:38,724 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:38,724 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-07 14:09:38,725 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:09:38,725 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-07 14:09:38,725 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-07 14:09:38,725 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:38,725 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:09:38,750 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:09:38,940 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:09:38,941 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:38,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:38,941 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-07 14:09:38,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:38,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613162410] [2022-04-07 14:09:38,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:38,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:38,953 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:38,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1680899619] [2022-04-07 14:09:38,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:38,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:38,953 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:38,956 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:09:38,977 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:09:38,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:39,000 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 14:09:39,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:39,019 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:39,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-07 14:09:39,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2512#true} is VALID [2022-04-07 14:09:39,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #101#return; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #81#return; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-07 14:09:39,242 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L272 TraceCheckUtils]: 17: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,243 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #85#return; {2512#true} is VALID [2022-04-07 14:09:39,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,251 INFO L272 TraceCheckUtils]: 24: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,251 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,252 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,252 INFO L272 TraceCheckUtils]: 29: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,253 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,253 INFO L272 TraceCheckUtils]: 34: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,253 INFO L290 TraceCheckUtils]: 36: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,254 INFO L290 TraceCheckUtils]: 37: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,254 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,256 INFO L272 TraceCheckUtils]: 41: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,257 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,257 INFO L272 TraceCheckUtils]: 46: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-07 14:09:39,257 INFO L290 TraceCheckUtils]: 47: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-07 14:09:39,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-07 14:09:39,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-07 14:09:39,258 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,258 INFO L290 TraceCheckUtils]: 51: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:09:39,259 INFO L272 TraceCheckUtils]: 52: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:39,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2678#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:39,260 INFO L290 TraceCheckUtils]: 54: Hoare triple {2678#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-07 14:09:39,260 INFO L290 TraceCheckUtils]: 55: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-07 14:09:39,260 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-07 14:09:39,260 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:09:39,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:09:39,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1613162410] [2022-04-07 14:09:39,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:09:39,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680899619] [2022-04-07 14:09:39,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680899619] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:09:39,273 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:09:39,273 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 14:09:39,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1312936620] [2022-04-07 14:09:39,274 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:09:39,274 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-07 14:09:39,274 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:09:39,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-07 14:09:39,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:09:39,306 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:09:39,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:09:39,307 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:09:39,307 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:09:39,307 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-07 14:09:39,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:39,587 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-07 14:09:39,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:09:39,587 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-07 14:09:39,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:09:39,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-07 14:09:39,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 14:09:39,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-07 14:09:39,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 14:09:39,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-07 14:09:39,649 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:09:39,651 INFO L225 Difference]: With dead ends: 79 [2022-04-07 14:09:39,652 INFO L226 Difference]: Without dead ends: 72 [2022-04-07 14:09:39,652 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 14:09:39,653 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:09:39,653 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:09:39,655 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-07 14:09:39,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-07 14:09:39,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:09:39,681 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-07 14:09:39,682 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-07 14:09:39,683 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-07 14:09:39,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:39,687 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-07 14:09:39,687 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-07 14:09:39,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:39,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:39,688 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-07 14:09:39,688 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-07 14:09:39,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:09:39,692 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-07 14:09:39,692 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-07 14:09:39,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:09:39,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:09:39,692 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:09:39,692 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:09:39,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-07 14:09:39,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-07 14:09:39,695 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-07 14:09:39,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:09:39,696 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-07 14:09:39,696 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-07 14:09:39,696 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-07 14:09:39,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-07 14:09:39,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:09:39,697 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:09:39,718 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:09:39,911 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:09:39,911 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:09:39,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:09:39,912 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-07 14:09:39,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:09:39,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [899603535] [2022-04-07 14:09:39,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:39,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:09:39,933 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:09:39,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1556129117] [2022-04-07 14:09:39,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:09:39,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:09:39,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:09:39,935 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:09:39,936 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:09:40,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:40,012 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-07 14:09:40,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:09:40,031 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:09:46,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-07 14:09:46,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-07 14:09:46,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-07 14:09:46,322 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,322 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3092#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 14:09:46,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {3092#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3096#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:46,322 INFO L290 TraceCheckUtils]: 15: Hoare triple {3096#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3096#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 14:09:46,323 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3096#(not (= |assume_abort_if_not_#in~cond| 0))} {3048#true} #83#return; {3103#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-07 14:09:46,323 INFO L272 TraceCheckUtils]: 17: Hoare triple {3103#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,323 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,323 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,323 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,324 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3103#(<= (mod main_~B~0 4294967296) 2)} #85#return; {3103#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-07 14:09:46,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {3103#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,325 INFO L290 TraceCheckUtils]: 23: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,325 INFO L272 TraceCheckUtils]: 24: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,326 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,326 INFO L272 TraceCheckUtils]: 29: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,330 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,330 INFO L272 TraceCheckUtils]: 34: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,330 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,331 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,331 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,332 INFO L272 TraceCheckUtils]: 41: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,333 INFO L272 TraceCheckUtils]: 46: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,333 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,334 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,334 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,334 INFO L272 TraceCheckUtils]: 51: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,334 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,334 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,334 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,335 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,335 INFO L290 TraceCheckUtils]: 56: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,336 INFO L290 TraceCheckUtils]: 57: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,336 INFO L272 TraceCheckUtils]: 58: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,336 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:09:46,336 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:09:46,336 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:09:46,337 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,337 INFO L272 TraceCheckUtils]: 63: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:09:46,337 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3251#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:46,337 INFO L290 TraceCheckUtils]: 65: Hoare triple {3251#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:09:46,338 INFO L290 TraceCheckUtils]: 66: Hoare triple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:09:46,338 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:09:46,339 INFO L290 TraceCheckUtils]: 68: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3265#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-07 14:09:46,340 INFO L290 TraceCheckUtils]: 69: Hoare triple {3265#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-07 14:09:46,341 INFO L290 TraceCheckUtils]: 70: Hoare triple {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-07 14:09:46,341 INFO L272 TraceCheckUtils]: 71: Hoare triple {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:09:46,342 INFO L290 TraceCheckUtils]: 72: Hoare triple {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3280#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:09:46,342 INFO L290 TraceCheckUtils]: 73: Hoare triple {3280#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-07 14:09:46,342 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-07 14:09:46,342 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 39 proven. 11 refuted. 0 times theorem prover too weak. 97 trivial. 0 not checked. [2022-04-07 14:09:46,343 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:10:25,729 WARN L232 SmtUtils]: Spent 22.19s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 14:11:43,879 WARN L232 SmtUtils]: Spent 17.02s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 14:12:37,361 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-07 14:12:37,361 INFO L290 TraceCheckUtils]: 73: Hoare triple {3280#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-07 14:12:37,362 INFO L290 TraceCheckUtils]: 72: Hoare triple {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3280#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:12:37,362 INFO L272 TraceCheckUtils]: 71: Hoare triple {3296#(= (+ 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)); {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:12:37,363 INFO L290 TraceCheckUtils]: 70: Hoare triple {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:12:37,365 INFO L290 TraceCheckUtils]: 69: Hoare triple {3303#(= (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; {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-07 14:12:37,376 INFO L290 TraceCheckUtils]: 68: Hoare triple {3307#(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); {3303#(= (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:12:37,378 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #95#return; {3307#(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:12:37,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:12:37,379 INFO L290 TraceCheckUtils]: 65: Hoare triple {3321#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 14:12:37,379 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3321#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 14:12:37,379 INFO L272 TraceCheckUtils]: 63: Hoare triple {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,380 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #93#return; {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-07 14:12:37,380 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,380 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,380 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,380 INFO L272 TraceCheckUtils]: 58: Hoare triple {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,381 INFO L290 TraceCheckUtils]: 57: Hoare triple {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-07 14:12:37,383 INFO L290 TraceCheckUtils]: 56: Hoare triple {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3311#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-07 14:12:37,383 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #91#return; {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:12:37,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,383 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,383 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,384 INFO L272 TraceCheckUtils]: 51: Hoare triple {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,384 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #89#return; {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:12:37,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,384 INFO L272 TraceCheckUtils]: 46: Hoare triple {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,385 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #87#return; {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:12:37,385 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,385 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,385 INFO L272 TraceCheckUtils]: 41: Hoare triple {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,387 INFO L290 TraceCheckUtils]: 40: Hoare triple {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !false; {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:12:37,391 INFO L290 TraceCheckUtils]: 39: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3346#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-07 14:12:37,391 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:12:37,391 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,391 INFO L272 TraceCheckUtils]: 34: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,392 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:12:37,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,392 INFO L272 TraceCheckUtils]: 29: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,393 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:12:37,393 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,393 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,393 INFO L272 TraceCheckUtils]: 24: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-07 14:12:37,395 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L272 TraceCheckUtils]: 17: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-07 14:12:37,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3048#true} is VALID [2022-04-07 14:12:37,397 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-07 14:12:37,397 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-07 14:12:37,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:12:37,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [899603535] [2022-04-07 14:12:37,398 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:12:37,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1556129117] [2022-04-07 14:12:37,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1556129117] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:12:37,398 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:12:37,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-07 14:12:37,398 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [297632211] [2022-04-07 14:12:37,398 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:12:37,399 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-07 14:12:37,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:12:37,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:12:37,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:12:37,515 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-07 14:12:37,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:12:37,515 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-07 14:12:37,515 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-07 14:12:37,516 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:12:47,688 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 14:12:49,720 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 14:12:56,909 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 14:13:16,203 WARN L232 SmtUtils]: Spent 5.59s on a formula simplification. DAG size of input: 71 DAG size of output: 63 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 14:13:18,711 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 14:13:32,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:13:32,116 INFO L93 Difference]: Finished difference Result 148 states and 194 transitions. [2022-04-07 14:13:32,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 14:13:32,116 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-07 14:13:32,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:13:32,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:13:32,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-04-07 14:13:32,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:13:32,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-04-07 14:13:32,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 137 transitions. [2022-04-07 14:13:32,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:13:32,704 INFO L225 Difference]: With dead ends: 148 [2022-04-07 14:13:32,704 INFO L226 Difference]: Without dead ends: 121 [2022-04-07 14:13:32,705 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 199 ImplicationChecksByTransitivity, 56.0s TimeCoverageRelationStatistics Valid=188, Invalid=804, Unknown=0, NotChecked=0, Total=992 [2022-04-07 14:13:32,705 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 76 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 718 mSolverCounterSat, 154 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 16.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 876 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 154 IncrementalHoareTripleChecker+Valid, 718 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 16.5s IncrementalHoareTripleChecker+Time [2022-04-07 14:13:32,706 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 193 Invalid, 876 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [154 Valid, 718 Invalid, 4 Unknown, 0 Unchecked, 16.5s Time] [2022-04-07 14:13:32,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-07 14:13:32,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 103. [2022-04-07 14:13:32,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:13:32,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:13:32,788 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:13:32,789 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:13:32,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:13:32,793 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-07 14:13:32,793 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-07 14:13:32,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:13:32,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:13:32,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-07 14:13:32,802 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-07 14:13:32,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:13:32,807 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-07 14:13:32,807 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-07 14:13:32,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:13:32,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:13:32,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:13:32,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:13:32,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:13:32,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 127 transitions. [2022-04-07 14:13:32,812 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 127 transitions. Word has length 75 [2022-04-07 14:13:32,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:13:32,812 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 127 transitions. [2022-04-07 14:13:32,812 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-07 14:13:32,812 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 127 transitions. [2022-04-07 14:13:32,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-07 14:13:32,813 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:13:32,813 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:13:32,838 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:13:33,013 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:13:33,014 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:13:33,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:13:33,014 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-07 14:13:33,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:13:33,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1847103027] [2022-04-07 14:13:33,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:13:33,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:13:33,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:13:33,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1782569849] [2022-04-07 14:13:33,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:13:33,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:13:33,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:13:33,031 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:13:33,031 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:13:33,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:13:33,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 14:13:33,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:13:33,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:13:33,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-07 14:13:33,385 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:13:33,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-07 14:13:33,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-07 14:13:33,385 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:13:33,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-07 14:13:33,386 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:13:33,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,387 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-07 14:13:33,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,388 INFO L272 TraceCheckUtils]: 29: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,388 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,389 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,389 INFO L272 TraceCheckUtils]: 34: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,390 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,390 INFO L272 TraceCheckUtils]: 41: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,390 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,391 INFO L272 TraceCheckUtils]: 46: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,391 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,392 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,392 INFO L272 TraceCheckUtils]: 51: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,392 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,392 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,393 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,393 INFO L290 TraceCheckUtils]: 56: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,393 INFO L290 TraceCheckUtils]: 57: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,393 INFO L272 TraceCheckUtils]: 58: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,393 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,393 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,394 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,395 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,395 INFO L272 TraceCheckUtils]: 63: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,396 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,396 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,396 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,397 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,397 INFO L290 TraceCheckUtils]: 68: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:33,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-07 14:13:33,399 INFO L290 TraceCheckUtils]: 70: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-07 14:13:33,399 INFO L272 TraceCheckUtils]: 71: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,399 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,399 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,399 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,400 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-07 14:13:33,400 INFO L272 TraceCheckUtils]: 76: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:33,400 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:33,400 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:33,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:33,401 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #95#return; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-07 14:13:33,401 INFO L290 TraceCheckUtils]: 81: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4397#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-07 14:13:33,402 INFO L272 TraceCheckUtils]: 82: Hoare triple {4397#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:13:33,403 INFO L290 TraceCheckUtils]: 83: Hoare triple {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4405#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:13:33,403 INFO L290 TraceCheckUtils]: 84: Hoare triple {4405#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-07 14:13:33,403 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-07 14:13:33,404 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-07 14:13:33,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:13:58,916 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-07 14:13:58,916 INFO L290 TraceCheckUtils]: 84: Hoare triple {4405#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-07 14:13:58,917 INFO L290 TraceCheckUtils]: 83: Hoare triple {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4405#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:13:58,917 INFO L272 TraceCheckUtils]: 82: Hoare triple {4421#(= (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)); {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:13:58,918 INFO L290 TraceCheckUtils]: 81: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4421#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-07 14:13:58,918 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4425#(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:13:58,918 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L272 TraceCheckUtils]: 76: Hoare triple {4425#(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:13:58,919 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4425#(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:13:58,919 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,919 INFO L272 TraceCheckUtils]: 71: Hoare triple {4425#(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:13:58,920 INFO L290 TraceCheckUtils]: 70: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4425#(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:13:58,921 INFO L290 TraceCheckUtils]: 69: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4425#(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:13:58,921 INFO L290 TraceCheckUtils]: 68: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,922 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,922 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,922 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,922 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,922 INFO L272 TraceCheckUtils]: 63: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,923 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,923 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,923 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,923 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,923 INFO L272 TraceCheckUtils]: 58: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,923 INFO L290 TraceCheckUtils]: 56: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,924 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,924 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,924 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,924 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,924 INFO L272 TraceCheckUtils]: 51: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,925 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,925 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,925 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,925 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,925 INFO L272 TraceCheckUtils]: 46: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,925 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,925 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,926 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,926 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,926 INFO L272 TraceCheckUtils]: 41: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,927 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,927 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,927 INFO L272 TraceCheckUtils]: 34: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,928 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,928 INFO L272 TraceCheckUtils]: 29: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,928 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,929 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,929 INFO L272 TraceCheckUtils]: 24: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,929 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,929 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-07 14:13:58,930 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,930 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:13:58,930 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-07 14:13:58,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-07 14:13:58,931 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:13:58,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-07 14:13:58,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-07 14:13:58,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-07 14:13:58,931 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:13:58,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-07 14:13:58,931 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-07 14:13:58,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:13:58,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1847103027] [2022-04-07 14:13:58,932 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:13:58,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1782569849] [2022-04-07 14:13:58,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1782569849] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:13:58,932 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:13:58,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-07 14:13:58,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [424300911] [2022-04-07 14:13:58,932 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:13:58,933 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-07 14:13:58,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:13:58,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-07 14:13:58,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:13:58,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 14:13:58,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:13:58,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 14:13:58,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-07 14:13:58,982 INFO L87 Difference]: Start difference. First operand 103 states and 127 transitions. Second operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-07 14:14:00,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:00,054 INFO L93 Difference]: Finished difference Result 116 states and 143 transitions. [2022-04-07 14:14:00,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-07 14:14:00,055 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-07 14:14:00,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:14:00,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-07 14:14:00,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-07 14:14:00,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-07 14:14:00,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-07 14:14:00,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-07 14:14:00,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:14:00,133 INFO L225 Difference]: With dead ends: 116 [2022-04-07 14:14:00,133 INFO L226 Difference]: Without dead ends: 114 [2022-04-07 14:14:00,133 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 162 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:14:00,135 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 17 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 171 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 14:14:00,135 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 205 Invalid, 171 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 14:14:00,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-07 14:14:00,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2022-04-07 14:14:00,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:14:00,199 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 14:14:00,200 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 14:14:00,200 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 14:14:00,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:00,204 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-07 14:14:00,204 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-07 14:14:00,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:00,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:00,205 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-07 14:14:00,205 INFO L87 Difference]: Start difference. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-07 14:14:00,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:00,209 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-07 14:14:00,209 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-07 14:14:00,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:00,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:00,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:14:00,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:14:00,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 14:14:00,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 134 transitions. [2022-04-07 14:14:00,214 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 134 transitions. Word has length 86 [2022-04-07 14:14:00,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:14:00,214 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 134 transitions. [2022-04-07 14:14:00,214 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-07 14:14:00,214 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-07 14:14:00,215 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-07 14:14:00,215 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:14:00,215 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:14:00,236 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-07 14:14:00,431 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:14:00,431 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:14:00,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:14:00,432 INFO L85 PathProgramCache]: Analyzing trace with hash -1353450239, now seen corresponding path program 2 times [2022-04-07 14:14:00,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:14:00,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146768304] [2022-04-07 14:14:00,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:00,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:14:00,446 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:14:00,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1854346788] [2022-04-07 14:14:00,447 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 14:14:00,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:14:00,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:14:00,448 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:14:00,455 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:14:00,498 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 14:14:00,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:14:00,499 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 14:14:00,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:00,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:14:00,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {5226#true} call ULTIMATE.init(); {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {5226#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); {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5226#true} {5226#true} #101#return; {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {5226#true} call #t~ret6 := main(); {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {5226#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; {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {5226#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5226#true} {5226#true} #81#return; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {5226#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5226#true} {5226#true} #83#return; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L272 TraceCheckUtils]: 17: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5226#true} {5226#true} #85#return; {5226#true} is VALID [2022-04-07 14:14:00,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {5226#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,669 INFO L290 TraceCheckUtils]: 23: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,669 INFO L272 TraceCheckUtils]: 24: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,670 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #87#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,670 INFO L272 TraceCheckUtils]: 29: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,670 INFO L290 TraceCheckUtils]: 30: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,670 INFO L290 TraceCheckUtils]: 31: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,670 INFO L290 TraceCheckUtils]: 32: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,671 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #89#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,671 INFO L272 TraceCheckUtils]: 34: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,671 INFO L290 TraceCheckUtils]: 37: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,672 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #91#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {5297#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {5349#(= main_~p~0 2)} assume !false; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,672 INFO L272 TraceCheckUtils]: 41: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,672 INFO L290 TraceCheckUtils]: 42: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,672 INFO L290 TraceCheckUtils]: 43: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,673 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #87#return; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,673 INFO L272 TraceCheckUtils]: 46: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,673 INFO L290 TraceCheckUtils]: 47: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,673 INFO L290 TraceCheckUtils]: 48: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,673 INFO L290 TraceCheckUtils]: 49: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,674 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #89#return; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,674 INFO L272 TraceCheckUtils]: 51: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,674 INFO L290 TraceCheckUtils]: 52: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,674 INFO L290 TraceCheckUtils]: 53: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,674 INFO L290 TraceCheckUtils]: 54: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,674 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #91#return; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,674 INFO L290 TraceCheckUtils]: 56: Hoare triple {5349#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,675 INFO L290 TraceCheckUtils]: 57: Hoare triple {5349#(= main_~p~0 2)} assume !false; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,675 INFO L272 TraceCheckUtils]: 58: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,675 INFO L290 TraceCheckUtils]: 59: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,675 INFO L290 TraceCheckUtils]: 60: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,675 INFO L290 TraceCheckUtils]: 61: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,676 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #93#return; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,676 INFO L272 TraceCheckUtils]: 63: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,676 INFO L290 TraceCheckUtils]: 64: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,676 INFO L290 TraceCheckUtils]: 65: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,676 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #95#return; {5349#(= main_~p~0 2)} is VALID [2022-04-07 14:14:00,677 INFO L290 TraceCheckUtils]: 68: Hoare triple {5349#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,677 INFO L290 TraceCheckUtils]: 69: Hoare triple {5297#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,678 INFO L290 TraceCheckUtils]: 70: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,678 INFO L272 TraceCheckUtils]: 71: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,678 INFO L290 TraceCheckUtils]: 72: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,678 INFO L290 TraceCheckUtils]: 73: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,678 INFO L290 TraceCheckUtils]: 74: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,678 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #93#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,678 INFO L272 TraceCheckUtils]: 76: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 77: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 78: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 79: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,679 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #95#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 81: Hoare triple {5297#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5227#false} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 82: Hoare triple {5227#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5227#false} is VALID [2022-04-07 14:14:00,679 INFO L290 TraceCheckUtils]: 83: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-07 14:14:00,680 INFO L272 TraceCheckUtils]: 84: Hoare triple {5227#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5227#false} is VALID [2022-04-07 14:14:00,680 INFO L290 TraceCheckUtils]: 85: Hoare triple {5227#false} ~cond := #in~cond; {5227#false} is VALID [2022-04-07 14:14:00,680 INFO L290 TraceCheckUtils]: 86: Hoare triple {5227#false} assume 0 == ~cond; {5227#false} is VALID [2022-04-07 14:14:00,680 INFO L290 TraceCheckUtils]: 87: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-07 14:14:00,680 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-07 14:14:00,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:14:00,944 INFO L290 TraceCheckUtils]: 87: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-07 14:14:00,944 INFO L290 TraceCheckUtils]: 86: Hoare triple {5227#false} assume 0 == ~cond; {5227#false} is VALID [2022-04-07 14:14:00,944 INFO L290 TraceCheckUtils]: 85: Hoare triple {5227#false} ~cond := #in~cond; {5227#false} is VALID [2022-04-07 14:14:00,944 INFO L272 TraceCheckUtils]: 84: Hoare triple {5227#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5227#false} is VALID [2022-04-07 14:14:00,944 INFO L290 TraceCheckUtils]: 83: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-07 14:14:00,944 INFO L290 TraceCheckUtils]: 82: Hoare triple {5227#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5227#false} is VALID [2022-04-07 14:14:00,945 INFO L290 TraceCheckUtils]: 81: Hoare triple {5297#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5227#false} is VALID [2022-04-07 14:14:00,945 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #95#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,945 INFO L290 TraceCheckUtils]: 79: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,945 INFO L290 TraceCheckUtils]: 78: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,945 INFO L290 TraceCheckUtils]: 77: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,945 INFO L272 TraceCheckUtils]: 76: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,946 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #93#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,946 INFO L290 TraceCheckUtils]: 74: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,946 INFO L290 TraceCheckUtils]: 73: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,946 INFO L290 TraceCheckUtils]: 72: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,946 INFO L272 TraceCheckUtils]: 71: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,946 INFO L290 TraceCheckUtils]: 70: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,947 INFO L290 TraceCheckUtils]: 69: Hoare triple {5297#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,947 INFO L290 TraceCheckUtils]: 68: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,948 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #95#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,948 INFO L290 TraceCheckUtils]: 66: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,948 INFO L290 TraceCheckUtils]: 65: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,948 INFO L290 TraceCheckUtils]: 64: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,948 INFO L272 TraceCheckUtils]: 63: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,949 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #93#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,949 INFO L290 TraceCheckUtils]: 61: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,949 INFO L290 TraceCheckUtils]: 60: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,949 INFO L290 TraceCheckUtils]: 59: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,949 INFO L272 TraceCheckUtils]: 58: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,949 INFO L290 TraceCheckUtils]: 57: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !false; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,949 INFO L290 TraceCheckUtils]: 56: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,950 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #91#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,950 INFO L272 TraceCheckUtils]: 51: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,950 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #89#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L290 TraceCheckUtils]: 47: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L272 TraceCheckUtils]: 46: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #87#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,951 INFO L290 TraceCheckUtils]: 44: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L290 TraceCheckUtils]: 43: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L290 TraceCheckUtils]: 42: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,951 INFO L272 TraceCheckUtils]: 41: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !false; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {5297#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-07 14:14:00,952 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #91#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,952 INFO L290 TraceCheckUtils]: 37: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L272 TraceCheckUtils]: 34: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #89#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,953 INFO L272 TraceCheckUtils]: 29: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,954 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #87#return; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,954 INFO L272 TraceCheckUtils]: 24: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {5226#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5297#(= main_~p~0 1)} is VALID [2022-04-07 14:14:00,954 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5226#true} {5226#true} #85#return; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 19: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L272 TraceCheckUtils]: 17: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5226#true} {5226#true} #83#return; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L272 TraceCheckUtils]: 12: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {5226#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5226#true} {5226#true} #81#return; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {5226#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-07 14:14:00,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {5226#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; {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {5226#true} call #t~ret6 := main(); {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5226#true} {5226#true} #101#return; {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {5226#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); {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L272 TraceCheckUtils]: 0: Hoare triple {5226#true} call ULTIMATE.init(); {5226#true} is VALID [2022-04-07 14:14:00,956 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-07 14:14:00,956 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:14:00,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146768304] [2022-04-07 14:14:00,956 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:14:00,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1854346788] [2022-04-07 14:14:00,957 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1854346788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:14:00,957 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:14:00,957 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-07 14:14:00,957 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1397998177] [2022-04-07 14:14:00,957 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:14:00,958 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-07 14:14:00,958 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:14:00,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-07 14:14:01,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:14:01,013 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:14:01,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:14:01,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:14:01,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:14:01,013 INFO L87 Difference]: Start difference. First operand 107 states and 134 transitions. Second operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-07 14:14:01,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:01,246 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-07 14:14:01,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 14:14:01,246 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-07 14:14:01,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:14:01,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-07 14:14:01,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-07 14:14:01,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-07 14:14:01,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-07 14:14:01,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-04-07 14:14:01,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 14:14:01,335 INFO L225 Difference]: With dead ends: 130 [2022-04-07 14:14:01,335 INFO L226 Difference]: Without dead ends: 111 [2022-04-07 14:14:01,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:14:01,336 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 1 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:14:01,336 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 169 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:14:01,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-07 14:14:01,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2022-04-07 14:14:01,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:14:01,410 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-07 14:14:01,411 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-07 14:14:01,411 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-07 14:14:01,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:01,414 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-07 14:14:01,414 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-07 14:14:01,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:01,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:01,415 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-07 14:14:01,416 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-07 14:14:01,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:01,419 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-07 14:14:01,419 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-07 14:14:01,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:01,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:01,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:14:01,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:14:01,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-07 14:14:01,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 140 transitions. [2022-04-07 14:14:01,423 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 140 transitions. Word has length 88 [2022-04-07 14:14:01,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:14:01,423 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 140 transitions. [2022-04-07 14:14:01,423 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-07 14:14:01,423 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-07 14:14:01,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-07 14:14:01,424 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:14:01,424 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:14:01,447 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:14:01,647 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:14:01,647 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:14:01,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:14:01,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-07 14:14:01,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:14:01,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [601714271] [2022-04-07 14:14:01,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:01,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:14:01,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:14:01,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1300292379] [2022-04-07 14:14:01,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:01,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:14:01,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:14:01,666 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:14:01,690 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:14:01,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:01,736 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 14:14:01,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:01,752 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:14:02,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {6328#true} call ULTIMATE.init(); {6328#true} is VALID [2022-04-07 14:14:02,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {6328#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); {6328#true} is VALID [2022-04-07 14:14:02,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6328#true} {6328#true} #101#return; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {6328#true} call #t~ret6 := main(); {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {6328#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; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L272 TraceCheckUtils]: 6: Hoare triple {6328#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6328#true} {6328#true} #81#return; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {6328#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L272 TraceCheckUtils]: 12: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6328#true} {6328#true} #83#return; {6328#true} is VALID [2022-04-07 14:14:02,798 INFO L272 TraceCheckUtils]: 17: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,799 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6328#true} {6328#true} #85#return; {6328#true} is VALID [2022-04-07 14:14:02,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {6328#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:02,800 INFO L290 TraceCheckUtils]: 23: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:02,800 INFO L272 TraceCheckUtils]: 24: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,800 INFO L290 TraceCheckUtils]: 26: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,800 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:02,800 INFO L272 TraceCheckUtils]: 29: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 32: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:02,801 INFO L272 TraceCheckUtils]: 34: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 35: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,802 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:02,802 INFO L290 TraceCheckUtils]: 39: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:14:02,803 INFO L290 TraceCheckUtils]: 40: Hoare triple {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:14:02,803 INFO L272 TraceCheckUtils]: 41: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-07 14:14:02,803 INFO L290 TraceCheckUtils]: 42: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,803 INFO L290 TraceCheckUtils]: 43: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,804 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:14:02,804 INFO L272 TraceCheckUtils]: 46: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-07 14:14:02,804 INFO L290 TraceCheckUtils]: 47: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,804 INFO L290 TraceCheckUtils]: 48: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,804 INFO L290 TraceCheckUtils]: 49: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,815 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:14:02,816 INFO L272 TraceCheckUtils]: 51: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-07 14:14:02,816 INFO L290 TraceCheckUtils]: 52: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,816 INFO L290 TraceCheckUtils]: 53: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,816 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,817 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-07 14:14:02,818 INFO L290 TraceCheckUtils]: 56: Hoare triple {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:14:02,819 INFO L290 TraceCheckUtils]: 57: Hoare triple {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:14:02,819 INFO L272 TraceCheckUtils]: 58: Hoare triple {6503#(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)); {6328#true} is VALID [2022-04-07 14:14:02,819 INFO L290 TraceCheckUtils]: 59: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,819 INFO L290 TraceCheckUtils]: 60: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,819 INFO L290 TraceCheckUtils]: 61: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,820 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6328#true} {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:14:02,820 INFO L272 TraceCheckUtils]: 63: Hoare triple {6503#(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)); {6328#true} is VALID [2022-04-07 14:14:02,820 INFO L290 TraceCheckUtils]: 64: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,820 INFO L290 TraceCheckUtils]: 65: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,820 INFO L290 TraceCheckUtils]: 66: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,820 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6328#true} {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-07 14:14:02,822 INFO L290 TraceCheckUtils]: 68: Hoare triple {6503#(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); {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,822 INFO L290 TraceCheckUtils]: 69: Hoare triple {6540#(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; {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,823 INFO L290 TraceCheckUtils]: 70: Hoare triple {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,823 INFO L272 TraceCheckUtils]: 71: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-07 14:14:02,824 INFO L290 TraceCheckUtils]: 72: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,824 INFO L290 TraceCheckUtils]: 73: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,824 INFO L290 TraceCheckUtils]: 74: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,825 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,825 INFO L272 TraceCheckUtils]: 76: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-07 14:14:02,825 INFO L290 TraceCheckUtils]: 77: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,825 INFO L290 TraceCheckUtils]: 78: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,826 INFO L290 TraceCheckUtils]: 79: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,826 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,827 INFO L290 TraceCheckUtils]: 81: Hoare triple {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,827 INFO L272 TraceCheckUtils]: 82: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-07 14:14:02,827 INFO L290 TraceCheckUtils]: 83: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:02,827 INFO L290 TraceCheckUtils]: 84: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:02,827 INFO L290 TraceCheckUtils]: 85: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:02,827 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-07 14:14:02,828 INFO L272 TraceCheckUtils]: 87: Hoare triple {6540#(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)); {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:14:02,829 INFO L290 TraceCheckUtils]: 88: Hoare triple {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:14:02,829 INFO L290 TraceCheckUtils]: 89: Hoare triple {6602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6329#false} is VALID [2022-04-07 14:14:02,829 INFO L290 TraceCheckUtils]: 90: Hoare triple {6329#false} assume !false; {6329#false} is VALID [2022-04-07 14:14:02,829 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:14:02,829 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:14:03,431 INFO L290 TraceCheckUtils]: 90: Hoare triple {6329#false} assume !false; {6329#false} is VALID [2022-04-07 14:14:03,432 INFO L290 TraceCheckUtils]: 89: Hoare triple {6602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6329#false} is VALID [2022-04-07 14:14:03,432 INFO L290 TraceCheckUtils]: 88: Hoare triple {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:14:03,433 INFO L272 TraceCheckUtils]: 87: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 14:14:03,433 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,433 INFO L290 TraceCheckUtils]: 85: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,433 INFO L290 TraceCheckUtils]: 84: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,433 INFO L290 TraceCheckUtils]: 83: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,433 INFO L272 TraceCheckUtils]: 82: Hoare triple {6399#(= 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)); {6328#true} is VALID [2022-04-07 14:14:03,434 INFO L290 TraceCheckUtils]: 81: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,434 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,434 INFO L290 TraceCheckUtils]: 79: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,434 INFO L290 TraceCheckUtils]: 78: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,434 INFO L290 TraceCheckUtils]: 77: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,434 INFO L272 TraceCheckUtils]: 76: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:03,435 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,435 INFO L290 TraceCheckUtils]: 74: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,435 INFO L290 TraceCheckUtils]: 73: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,435 INFO L290 TraceCheckUtils]: 72: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,435 INFO L272 TraceCheckUtils]: 71: Hoare triple {6399#(= 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)); {6328#true} is VALID [2022-04-07 14:14:03,435 INFO L290 TraceCheckUtils]: 70: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,436 INFO L290 TraceCheckUtils]: 69: Hoare triple {6399#(= 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; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,437 INFO L290 TraceCheckUtils]: 68: Hoare triple {6675#(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); {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-07 14:14:03,437 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6328#true} {6675#(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; {6675#(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:14:03,437 INFO L290 TraceCheckUtils]: 66: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,437 INFO L290 TraceCheckUtils]: 65: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,437 INFO L290 TraceCheckUtils]: 64: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,437 INFO L272 TraceCheckUtils]: 63: Hoare triple {6675#(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)); {6328#true} is VALID [2022-04-07 14:14:03,438 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6328#true} {6675#(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; {6675#(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:14:03,438 INFO L290 TraceCheckUtils]: 61: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,438 INFO L290 TraceCheckUtils]: 60: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,438 INFO L272 TraceCheckUtils]: 58: Hoare triple {6675#(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)); {6328#true} is VALID [2022-04-07 14:14:03,439 INFO L290 TraceCheckUtils]: 57: Hoare triple {6675#(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; {6675#(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:14:03,439 INFO L290 TraceCheckUtils]: 56: Hoare triple {6712#(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); {6675#(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:14:03,440 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6328#true} {6712#(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; {6712#(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:14:03,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,440 INFO L272 TraceCheckUtils]: 51: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6328#true} {6712#(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; {6712#(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:14:03,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L290 TraceCheckUtils]: 48: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L290 TraceCheckUtils]: 47: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L272 TraceCheckUtils]: 46: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6328#true} {6712#(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; {6712#(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:14:03,441 INFO L290 TraceCheckUtils]: 44: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,441 INFO L290 TraceCheckUtils]: 43: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,442 INFO L272 TraceCheckUtils]: 41: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-07 14:14:03,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {6712#(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; {6712#(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:14:03,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {6764#(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; {6712#(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:14:03,443 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:14:03,444 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,444 INFO L290 TraceCheckUtils]: 35: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,444 INFO L272 TraceCheckUtils]: 34: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-07 14:14:03,460 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L272 TraceCheckUtils]: 29: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,462 INFO L272 TraceCheckUtils]: 24: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-07 14:14:03,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:14:03,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {6328#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-07 14:14:03,462 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6328#true} {6328#true} #85#return; {6328#true} is VALID [2022-04-07 14:14:03,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,462 INFO L290 TraceCheckUtils]: 19: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L272 TraceCheckUtils]: 17: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6328#true} {6328#true} #83#return; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L272 TraceCheckUtils]: 12: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {6328#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6328#true} {6328#true} #81#return; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L272 TraceCheckUtils]: 6: Hoare triple {6328#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {6328#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; {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L272 TraceCheckUtils]: 4: Hoare triple {6328#true} call #t~ret6 := main(); {6328#true} is VALID [2022-04-07 14:14:03,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6328#true} {6328#true} #101#return; {6328#true} is VALID [2022-04-07 14:14:03,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-07 14:14:03,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {6328#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); {6328#true} is VALID [2022-04-07 14:14:03,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {6328#true} call ULTIMATE.init(); {6328#true} is VALID [2022-04-07 14:14:03,464 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:14:03,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:14:03,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [601714271] [2022-04-07 14:14:03,464 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:14:03,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1300292379] [2022-04-07 14:14:03,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1300292379] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:14:03,464 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:14:03,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-07 14:14:03,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1612126638] [2022-04-07 14:14:03,465 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:14:03,465 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:14:03,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:14:03,466 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:14:03,551 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:14:03,551 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 14:14:03,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:14:03,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 14:14:03,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-07 14:14:03,552 INFO L87 Difference]: Start difference. First operand 111 states and 140 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-07 14:14:04,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:04,830 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-04-07 14:14:04,831 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 14:14:04,831 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:14:04,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:14:04,831 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:14:04,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-07 14:14:04,833 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:14:04,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-07 14:14:04,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-07 14:14:04,920 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:14:04,922 INFO L225 Difference]: With dead ends: 119 [2022-04-07 14:14:04,922 INFO L226 Difference]: Without dead ends: 102 [2022-04-07 14:14:04,922 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-07 14:14:04,923 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 157 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 157 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 14:14:04,923 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 270 Invalid, 169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 157 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 14:14:04,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-07 14:14:04,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-04-07 14:14:04,976 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:14:04,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:04,976 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:04,976 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:04,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:04,979 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-07 14:14:04,979 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-07 14:14:04,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:04,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:04,980 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-07 14:14:04,980 INFO L87 Difference]: Start difference. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-07 14:14:04,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:04,983 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-07 14:14:04,983 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-07 14:14:04,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:04,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:04,983 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:14:04,983 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:14:04,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:04,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 126 transitions. [2022-04-07 14:14:04,986 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 126 transitions. Word has length 91 [2022-04-07 14:14:04,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:14:04,986 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 126 transitions. [2022-04-07 14:14:04,986 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:14:04,987 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-07 14:14:04,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-07 14:14:04,987 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:14:04,987 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:14:05,009 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:14:05,203 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:14:05,203 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:14:05,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:14:05,204 INFO L85 PathProgramCache]: Analyzing trace with hash -941589367, now seen corresponding path program 1 times [2022-04-07 14:14:05,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:14:05,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1111876469] [2022-04-07 14:14:05,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:05,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:14:05,225 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:14:05,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1152349143] [2022-04-07 14:14:05,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:05,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:14:05,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:14:05,227 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:14:05,255 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:14:05,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:05,282 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-07 14:14:05,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:05,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:14:06,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {7414#true} call ULTIMATE.init(); {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {7414#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); {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7414#true} {7414#true} #101#return; {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {7414#true} call #t~ret6 := main(); {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {7414#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; {7414#true} is VALID [2022-04-07 14:14:06,365 INFO L272 TraceCheckUtils]: 6: Hoare triple {7414#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7414#true} {7414#true} #81#return; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 11: Hoare triple {7414#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L272 TraceCheckUtils]: 12: Hoare triple {7414#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7414#true} {7414#true} #83#return; {7414#true} is VALID [2022-04-07 14:14:06,366 INFO L272 TraceCheckUtils]: 17: Hoare triple {7414#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,367 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7414#true} {7414#true} #85#return; {7414#true} is VALID [2022-04-07 14:14:06,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {7414#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7485#(<= 1 main_~p~0)} is VALID [2022-04-07 14:14:06,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {7485#(<= 1 main_~p~0)} assume !false; {7485#(<= 1 main_~p~0)} is VALID [2022-04-07 14:14:06,372 INFO L272 TraceCheckUtils]: 24: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,372 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #87#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-07 14:14:06,373 INFO L272 TraceCheckUtils]: 29: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,373 INFO L290 TraceCheckUtils]: 32: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,373 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #89#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-07 14:14:06,373 INFO L272 TraceCheckUtils]: 34: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,374 INFO L290 TraceCheckUtils]: 35: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,374 INFO L290 TraceCheckUtils]: 36: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,374 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #91#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-07 14:14:06,375 INFO L290 TraceCheckUtils]: 39: Hoare triple {7485#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:14:06,376 INFO L290 TraceCheckUtils]: 40: Hoare triple {7537#(<= 1 (div main_~p~0 2))} assume !false; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:14:06,376 INFO L272 TraceCheckUtils]: 41: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,376 INFO L290 TraceCheckUtils]: 42: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,376 INFO L290 TraceCheckUtils]: 43: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,376 INFO L290 TraceCheckUtils]: 44: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,376 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #87#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:14:06,376 INFO L272 TraceCheckUtils]: 46: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,377 INFO L290 TraceCheckUtils]: 47: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,377 INFO L290 TraceCheckUtils]: 48: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,377 INFO L290 TraceCheckUtils]: 49: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,377 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #89#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:14:06,377 INFO L272 TraceCheckUtils]: 51: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,377 INFO L290 TraceCheckUtils]: 52: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,378 INFO L290 TraceCheckUtils]: 53: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,378 INFO L290 TraceCheckUtils]: 54: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,378 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #91#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-07 14:14:06,379 INFO L290 TraceCheckUtils]: 56: Hoare triple {7537#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,379 INFO L290 TraceCheckUtils]: 57: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,379 INFO L272 TraceCheckUtils]: 58: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,379 INFO L290 TraceCheckUtils]: 59: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,379 INFO L290 TraceCheckUtils]: 60: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,380 INFO L290 TraceCheckUtils]: 61: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,380 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,380 INFO L272 TraceCheckUtils]: 63: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,380 INFO L290 TraceCheckUtils]: 64: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,380 INFO L290 TraceCheckUtils]: 65: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,380 INFO L290 TraceCheckUtils]: 66: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,381 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,381 INFO L272 TraceCheckUtils]: 68: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,381 INFO L290 TraceCheckUtils]: 69: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,381 INFO L290 TraceCheckUtils]: 70: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,381 INFO L290 TraceCheckUtils]: 71: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,382 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,382 INFO L290 TraceCheckUtils]: 73: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,382 INFO L290 TraceCheckUtils]: 74: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,382 INFO L272 TraceCheckUtils]: 75: Hoare triple {7589#(<= 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)); {7414#true} is VALID [2022-04-07 14:14:06,382 INFO L290 TraceCheckUtils]: 76: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,383 INFO L290 TraceCheckUtils]: 77: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,383 INFO L290 TraceCheckUtils]: 78: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,383 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,383 INFO L272 TraceCheckUtils]: 80: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-07 14:14:06,383 INFO L290 TraceCheckUtils]: 81: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-07 14:14:06,383 INFO L290 TraceCheckUtils]: 82: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-07 14:14:06,384 INFO L290 TraceCheckUtils]: 83: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-07 14:14:06,384 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-07 14:14:06,384 INFO L290 TraceCheckUtils]: 85: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {7415#false} is VALID [2022-04-07 14:14:06,384 INFO L272 TraceCheckUtils]: 86: Hoare triple {7415#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 87: Hoare triple {7415#false} ~cond := #in~cond; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 88: Hoare triple {7415#false} assume !(0 == ~cond); {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 89: Hoare triple {7415#false} assume true; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7415#false} {7415#false} #97#return; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L272 TraceCheckUtils]: 91: Hoare triple {7415#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 92: Hoare triple {7415#false} ~cond := #in~cond; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 93: Hoare triple {7415#false} assume 0 == ~cond; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L290 TraceCheckUtils]: 94: Hoare triple {7415#false} assume !false; {7415#false} is VALID [2022-04-07 14:14:06,385 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 234 trivial. 0 not checked. [2022-04-07 14:14:06,386 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:14:06,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:14:06,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1111876469] [2022-04-07 14:14:06,386 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:14:06,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1152349143] [2022-04-07 14:14:06,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1152349143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:14:06,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:14:06,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 14:14:06,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [334426348] [2022-04-07 14:14:06,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:14:06,387 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-07 14:14:06,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:14:06,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 14:14:06,437 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:14:06,437 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:14:06,437 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:14:06,438 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:14:06,438 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:14:06,438 INFO L87 Difference]: Start difference. First operand 102 states and 126 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 14:14:06,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:06,701 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-04-07 14:14:06,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:14:06,701 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-07 14:14:06,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:14:06,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 14:14:06,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-07 14:14:06,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 14:14:06,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-07 14:14:06,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-07 14:14:06,772 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:14:06,774 INFO L225 Difference]: With dead ends: 116 [2022-04-07 14:14:06,774 INFO L226 Difference]: Without dead ends: 104 [2022-04-07 14:14:06,774 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:14:06,775 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:14:06,775 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 122 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:14:06,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-07 14:14:06,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-07 14:14:06,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:14:06,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:06,840 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:06,840 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:06,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:06,842 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-07 14:14:06,842 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-07 14:14:06,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:06,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:06,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-07 14:14:06,843 INFO L87 Difference]: Start difference. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-07 14:14:06,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:14:06,846 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-07 14:14:06,846 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-07 14:14:06,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:14:06,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:14:06,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:14:06,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:14:06,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:14:06,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 127 transitions. [2022-04-07 14:14:06,849 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 127 transitions. Word has length 95 [2022-04-07 14:14:06,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:14:06,850 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 127 transitions. [2022-04-07 14:14:06,850 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 14:14:06,850 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-07 14:14:06,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-07 14:14:06,851 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:14:06,851 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:14:06,871 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:14:07,063 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:14:07,063 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:14:07,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:14:07,064 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 3 times [2022-04-07 14:14:07,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:14:07,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107613353] [2022-04-07 14:14:07,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:14:07,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:14:07,074 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:14:07,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [492279412] [2022-04-07 14:14:07,074 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 14:14:07,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:14:07,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:14:07,075 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 14:14:07,076 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 14:14:07,135 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-07 14:14:07,135 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:14:07,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-07 14:14:07,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:14:07,152 INFO L286 TraceCheckSpWp]: Computing forward predicates...