./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 6d5fb336862157190b75f459fa5ac35efb8ca70e207f909b082fde37cf98e7f7 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:29:49,481 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:29:49,483 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:29:49,503 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:29:49,504 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:29:49,505 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:29:49,505 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:29:49,506 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:29:49,508 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:29:49,508 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:29:49,509 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:29:49,509 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:29:49,510 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:29:49,510 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:29:49,511 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:29:49,512 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:29:49,512 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:29:49,513 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:29:49,514 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:29:49,515 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:29:49,516 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:29:49,517 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:29:49,518 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:29:49,518 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:29:49,520 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:29:49,520 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:29:49,520 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:29:49,521 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:29:49,521 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:29:49,522 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:29:49,522 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:29:49,522 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:29:49,523 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:29:49,524 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:29:49,524 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:29:49,524 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:29:49,525 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:29:49,525 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:29:49,525 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:29:49,526 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:29:49,526 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:29:49,527 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:29:49,540 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:29:49,540 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:29:49,540 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:29:49,541 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:29:49,541 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:29:49,541 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:29:49,542 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:29:49,542 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:29:49,542 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:29:49,542 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:29:49,542 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:29:49,543 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:29:49,544 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:29:49,544 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:29:49,544 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:29:49,544 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:29:49,544 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:29:49,544 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:29:49,545 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:29:49,545 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:49,545 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:29:49,545 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:29:49,545 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:29:49,546 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:29:49,546 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:29:49,546 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:29:49,546 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:29:49,546 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:29:49,546 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 6d5fb336862157190b75f459fa5ac35efb8ca70e207f909b082fde37cf98e7f7 [2022-02-20 17:29:49,685 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:29:49,709 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:29:49,711 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:29:49,711 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:29:49,712 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:29:49,713 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c [2022-02-20 17:29:49,752 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7b0e594c/6cb1d45be3aa4e9b8767776476d1de5d/FLAGc50eb9dcb [2022-02-20 17:29:50,171 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:29:50,172 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c [2022-02-20 17:29:50,180 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7b0e594c/6cb1d45be3aa4e9b8767776476d1de5d/FLAGc50eb9dcb [2022-02-20 17:29:50,193 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7b0e594c/6cb1d45be3aa4e9b8767776476d1de5d [2022-02-20 17:29:50,195 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:29:50,197 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:29:50,199 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:50,200 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:29:50,202 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:29:50,203 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,204 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@19bca7af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50, skipping insertion in model container [2022-02-20 17:29:50,204 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,208 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:29:50,219 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:29:50,349 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c[538,551] [2022-02-20 17:29:50,377 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:50,386 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:29:50,394 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound10.c[538,551] [2022-02-20 17:29:50,411 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:50,422 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:29:50,422 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50 WrapperNode [2022-02-20 17:29:50,422 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:50,424 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:50,424 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:29:50,424 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:29:50,430 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,435 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,459 INFO L137 Inliner]: procedures = 14, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 55 [2022-02-20 17:29:50,460 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:50,461 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:29:50,461 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:29:50,461 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:29:50,467 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,467 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,474 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,475 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,477 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,480 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,482 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,483 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:29:50,483 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:29:50,483 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:29:50,484 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:29:50,484 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (1/1) ... [2022-02-20 17:29:50,499 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:50,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:50,518 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-02-20 17:29:50,534 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-02-20 17:29:50,594 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:29:50,594 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:29:50,594 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:29:50,594 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:29:50,594 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:29:50,594 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:29:50,594 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:29:50,594 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:29:50,652 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:29:50,653 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:29:50,872 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:29:50,877 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:29:50,877 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:29:50,878 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:50 BoogieIcfgContainer [2022-02-20 17:29:50,878 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:29:50,879 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:29:50,880 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:29:50,882 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:29:50,895 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:29:50" (1/3) ... [2022-02-20 17:29:50,896 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@92964e2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:50, skipping insertion in model container [2022-02-20 17:29:50,896 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:50" (2/3) ... [2022-02-20 17:29:50,897 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@92964e2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:50, skipping insertion in model container [2022-02-20 17:29:50,897 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:50" (3/3) ... [2022-02-20 17:29:50,898 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound10.c [2022-02-20 17:29:50,901 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:29:50,902 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:29:50,960 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:29:50,980 INFO L339 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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:29:50,980 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:29:51,006 INFO L276 IsEmpty]: Start isEmpty. Operand has 33 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:29:51,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:51,011 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,011 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:51,011 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,031 INFO L85 PathProgramCache]: Analyzing trace with hash -487550744, now seen corresponding path program 1 times [2022-02-20 17:29:51,038 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,038 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [10225614] [2022-02-20 17:29:51,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:51,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,192 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:51,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:51,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:51,204 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:51,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:51,213 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} assume { :begin_inline_ULTIMATE.init } 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); {36#true} is VALID [2022-02-20 17:29:51,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {36#true} is VALID [2022-02-20 17:29:51,213 INFO L272 TraceCheckUtils]: 2: Hoare triple {36#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:51,214 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,214 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,214 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:51,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#false} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {37#false} is VALID [2022-02-20 17:29:51,215 INFO L272 TraceCheckUtils]: 8: Hoare triple {37#false} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:51,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,216 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:51,216 INFO L272 TraceCheckUtils]: 13: Hoare triple {37#false} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:51,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:51,217 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:51,217 INFO L290 TraceCheckUtils]: 16: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:51,217 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:51,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#false} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {37#false} is VALID [2022-02-20 17:29:51,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:51,218 INFO L272 TraceCheckUtils]: 20: Hoare triple {37#false} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {37#false} is VALID [2022-02-20 17:29:51,218 INFO L290 TraceCheckUtils]: 21: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2022-02-20 17:29:51,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2022-02-20 17:29:51,218 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:51,219 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:51,219 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:51,220 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [10225614] [2022-02-20 17:29:51,220 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [10225614] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:51,220 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:51,220 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:29:51,222 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615047408] [2022-02-20 17:29:51,222 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:51,226 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:29:51,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:51,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:51,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:51,247 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:29:51,247 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:51,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:29:51,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:51,272 INFO L87 Difference]: Start difference. First operand has 33 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:51,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,391 INFO L93 Difference]: Finished difference Result 63 states and 104 transitions. [2022-02-20 17:29:51,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:29:51,392 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:29:51,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:51,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:51,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:51,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:51,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:51,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 104 transitions. [2022-02-20 17:29:51,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:51,511 INFO L225 Difference]: With dead ends: 63 [2022-02-20 17:29:51,512 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 17:29:51,514 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:51,516 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:51,517 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:51,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 17:29:51,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 17:29:51,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:51,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,540 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,540 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,544 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:51,544 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-02-20 17:29:51,545 INFO L87 Difference]: Start difference. First operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-02-20 17:29:51,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,548 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:51,548 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:51,549 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:51,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 39 transitions. [2022-02-20 17:29:51,553 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 39 transitions. Word has length 24 [2022-02-20 17:29:51,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:51,553 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 39 transitions. [2022-02-20 17:29:51,554 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:51,554 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,554 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:51,554 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,555 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:51,555 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:29:51,555 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,556 INFO L85 PathProgramCache]: Analyzing trace with hash -1636258074, now seen corresponding path program 1 times [2022-02-20 17:29:51,556 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,556 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452346316] [2022-02-20 17:29:51,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:51,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:51,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:51,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:51,633 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:51,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,639 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:51,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} assume { :begin_inline_ULTIMATE.init } 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); {242#true} is VALID [2022-02-20 17:29:51,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {242#true} is VALID [2022-02-20 17:29:51,640 INFO L272 TraceCheckUtils]: 2: Hoare triple {242#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:51,640 INFO L290 TraceCheckUtils]: 3: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,641 INFO L290 TraceCheckUtils]: 4: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,641 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:51,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {242#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {242#true} is VALID [2022-02-20 17:29:51,641 INFO L272 TraceCheckUtils]: 8: Hoare triple {242#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:51,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,642 INFO L290 TraceCheckUtils]: 10: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,642 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:51,642 INFO L272 TraceCheckUtils]: 13: Hoare triple {242#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:51,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,643 INFO L290 TraceCheckUtils]: 16: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,643 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:51,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {242#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {256#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:51,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {256#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !false; {256#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:51,645 INFO L272 TraceCheckUtils]: 20: Hoare triple {256#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {257#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:51,645 INFO L290 TraceCheckUtils]: 21: Hoare triple {257#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {258#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:51,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {258#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {243#false} is VALID [2022-02-20 17:29:51,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#false} assume !false; {243#false} is VALID [2022-02-20 17:29:51,646 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:51,646 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:51,646 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452346316] [2022-02-20 17:29:51,646 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [452346316] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:51,647 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:51,647 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:51,647 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2142222339] [2022-02-20 17:29:51,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:51,648 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-02-20 17:29:51,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:51,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:51,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:51,662 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:51,662 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:51,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:51,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:51,664 INFO L87 Difference]: Start difference. First operand 29 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:51,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,793 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:29:51,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:51,794 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-02-20 17:29:51,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:51,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:51,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:51,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,799 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:51,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:51,843 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:29:51,843 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:29:51,843 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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-02-20 17:29:51,844 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 12 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:51,845 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 134 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:51,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:29:51,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:29:51,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:51,849 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,849 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,849 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,852 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:51,852 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:51,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,853 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 40 states. [2022-02-20 17:29:51,853 INFO L87 Difference]: Start difference. First operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 40 states. [2022-02-20 17:29:51,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,856 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:51,856 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:51,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:51,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:51,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:51,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 42 transitions. [2022-02-20 17:29:51,877 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 42 transitions. Word has length 24 [2022-02-20 17:29:51,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:51,878 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 42 transitions. [2022-02-20 17:29:51,878 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:51,878 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 42 transitions. [2022-02-20 17:29:51,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:29:51,879 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,879 INFO L514 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] [2022-02-20 17:29:51,879 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:29:51,879 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,880 INFO L85 PathProgramCache]: Analyzing trace with hash 906849917, now seen corresponding path program 1 times [2022-02-20 17:29:51,880 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,880 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1647543047] [2022-02-20 17:29:51,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:51,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:51,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:51,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:51,952 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:51,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,956 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:51,957 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 17:29:51,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #84#return; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:51,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} assume { :begin_inline_ULTIMATE.init } 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); {450#true} is VALID [2022-02-20 17:29:51,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {450#true} is VALID [2022-02-20 17:29:51,965 INFO L272 TraceCheckUtils]: 2: Hoare triple {450#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,966 INFO L290 TraceCheckUtils]: 4: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,966 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:51,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {450#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {450#true} is VALID [2022-02-20 17:29:51,966 INFO L272 TraceCheckUtils]: 8: Hoare triple {450#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,967 INFO L290 TraceCheckUtils]: 10: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,967 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:51,967 INFO L272 TraceCheckUtils]: 13: Hoare triple {450#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,968 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:51,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {450#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:51,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} assume !false; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:51,969 INFO L272 TraceCheckUtils]: 20: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,970 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {450#true} {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #84#return; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:51,971 INFO L272 TraceCheckUtils]: 25: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:51,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {469#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {470#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:51,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {470#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {451#false} is VALID [2022-02-20 17:29:51,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {451#false} assume !false; {451#false} is VALID [2022-02-20 17:29:51,973 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:51,973 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:51,973 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1647543047] [2022-02-20 17:29:51,973 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1647543047] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:51,973 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:51,973 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:51,974 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [33285234] [2022-02-20 17:29:51,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:51,974 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 17:29:51,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:51,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:51,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:51,991 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:51,991 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:51,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:51,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:51,992 INFO L87 Difference]: Start difference. First operand 33 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:52,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,133 INFO L93 Difference]: Finished difference Result 46 states and 59 transitions. [2022-02-20 17:29:52,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:52,147 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 17:29:52,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:52,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:52,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:52,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:52,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:52,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:52,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:52,213 INFO L225 Difference]: With dead ends: 46 [2022-02-20 17:29:52,213 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 17:29:52,214 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 10 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-02-20 17:29:52,214 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:52,215 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 130 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:52,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 17:29:52,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-02-20 17:29:52,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:52,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:52,219 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:52,219 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:52,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,221 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:52,221 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:52,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:52,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:52,222 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 44 states. [2022-02-20 17:29:52,222 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 44 states. [2022-02-20 17:29:52,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,224 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:52,224 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:52,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:52,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:52,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:52,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:52,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:52,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2022-02-20 17:29:52,226 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 29 [2022-02-20 17:29:52,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:52,226 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2022-02-20 17:29:52,226 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:52,226 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-02-20 17:29:52,226 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:29:52,227 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:52,227 INFO L514 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] [2022-02-20 17:29:52,227 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:29:52,229 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:52,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:52,230 INFO L85 PathProgramCache]: Analyzing trace with hash 710995206, now seen corresponding path program 1 times [2022-02-20 17:29:52,230 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:52,230 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1344916259] [2022-02-20 17:29:52,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:52,231 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:52,252 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:52,252 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1117773967] [2022-02-20 17:29:52,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:52,252 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:52,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:52,254 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-02-20 17:29:52,271 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-02-20 17:29:52,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:29:52,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:52,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {680#true} assume { :begin_inline_ULTIMATE.init } 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); {680#true} is VALID [2022-02-20 17:29:52,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {680#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {680#true} is VALID [2022-02-20 17:29:52,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {680#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:52,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:52,486 INFO L290 TraceCheckUtils]: 4: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:52,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:52,486 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {680#true} {680#true} #78#return; {680#true} is VALID [2022-02-20 17:29:52,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {680#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {680#true} is VALID [2022-02-20 17:29:52,487 INFO L272 TraceCheckUtils]: 8: Hoare triple {680#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 10: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:52,487 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {680#true} {680#true} #80#return; {680#true} is VALID [2022-02-20 17:29:52,487 INFO L272 TraceCheckUtils]: 13: Hoare triple {680#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 14: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:52,487 INFO L290 TraceCheckUtils]: 16: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:52,488 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {680#true} {680#true} #82#return; {680#true} is VALID [2022-02-20 17:29:52,488 INFO L290 TraceCheckUtils]: 18: Hoare triple {680#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:52,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:52,489 INFO L272 TraceCheckUtils]: 20: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:52,489 INFO L290 TraceCheckUtils]: 21: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:52,489 INFO L290 TraceCheckUtils]: 22: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:52,489 INFO L290 TraceCheckUtils]: 23: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:52,490 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #84#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:52,490 INFO L272 TraceCheckUtils]: 25: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:52,490 INFO L290 TraceCheckUtils]: 26: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:52,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:52,490 INFO L290 TraceCheckUtils]: 28: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:52,491 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #86#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:52,491 INFO L272 TraceCheckUtils]: 30: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:52,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:52,492 INFO L290 TraceCheckUtils]: 32: Hoare triple {780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {681#false} is VALID [2022-02-20 17:29:52,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {681#false} assume !false; {681#false} is VALID [2022-02-20 17:29:52,493 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:29:52,493 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:52,493 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:52,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1344916259] [2022-02-20 17:29:52,493 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:52,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1117773967] [2022-02-20 17:29:52,493 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1117773967] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:52,493 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:52,494 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:52,494 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1646297579] [2022-02-20 17:29:52,494 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:52,494 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-02-20 17:29:52,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:52,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:52,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:52,515 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:52,515 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:52,515 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:52,515 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:52,516 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:52,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,669 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-02-20 17:29:52,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:52,669 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-02-20 17:29:52,670 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:52,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:52,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 17:29:52,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:52,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 17:29:52,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 79 transitions. [2022-02-20 17:29:52,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:52,733 INFO L225 Difference]: With dead ends: 65 [2022-02-20 17:29:52,733 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 17:29:52,733 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:29:52,734 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:52,734 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 141 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:52,735 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 17:29:52,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 17:29:52,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:52,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:52,741 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:52,742 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:52,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,744 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:52,744 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:52,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:52,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:52,745 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 51 states. [2022-02-20 17:29:52,745 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 51 states. [2022-02-20 17:29:52,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:52,747 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:52,747 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:52,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:52,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:52,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:52,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:52,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:52,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 64 transitions. [2022-02-20 17:29:52,750 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 64 transitions. Word has length 34 [2022-02-20 17:29:52,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:52,750 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 64 transitions. [2022-02-20 17:29:52,751 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:52,751 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:52,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:29:52,751 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:52,751 INFO L514 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] [2022-02-20 17:29:52,769 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-02-20 17:29:52,969 WARN L452 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-02-20 17:29:52,969 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:52,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:52,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1829555286, now seen corresponding path program 1 times [2022-02-20 17:29:52,970 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:52,970 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [919394518] [2022-02-20 17:29:52,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:52,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:52,985 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:52,985 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1717951800] [2022-02-20 17:29:52,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:52,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:52,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:52,986 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-02-20 17:29:52,987 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-02-20 17:29:53,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:29:53,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 0: Hoare triple {1058#true} assume { :begin_inline_ULTIMATE.init } 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); {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {1058#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L272 TraceCheckUtils]: 2: Hoare triple {1058#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 3: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 4: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1058#true} {1058#true} #78#return; {1058#true} is VALID [2022-02-20 17:29:54,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {1058#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1058#true} is VALID [2022-02-20 17:29:54,098 INFO L272 TraceCheckUtils]: 8: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {1058#true} ~cond := #in~cond; {1090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:54,099 INFO L290 TraceCheckUtils]: 10: Hoare triple {1090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:54,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {1094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:54,100 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1094#(not (= |assume_abort_if_not_#in~cond| 0))} {1058#true} #80#return; {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:29:54,100 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,100 INFO L290 TraceCheckUtils]: 16: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,103 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1058#true} {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} #82#return; {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:29:54,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,104 INFO L290 TraceCheckUtils]: 19: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,104 INFO L272 TraceCheckUtils]: 20: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,104 INFO L290 TraceCheckUtils]: 21: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,112 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,112 INFO L272 TraceCheckUtils]: 25: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,112 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,112 INFO L290 TraceCheckUtils]: 28: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,113 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,113 INFO L272 TraceCheckUtils]: 30: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,113 INFO L290 TraceCheckUtils]: 32: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,113 INFO L290 TraceCheckUtils]: 33: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,114 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,114 INFO L290 TraceCheckUtils]: 35: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {1172#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,115 INFO L290 TraceCheckUtils]: 36: Hoare triple {1172#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {1172#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,116 INFO L272 TraceCheckUtils]: 37: Hoare triple {1172#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:54,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:54,117 INFO L290 TraceCheckUtils]: 39: Hoare triple {1183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1059#false} is VALID [2022-02-20 17:29:54,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {1059#false} assume !false; {1059#false} is VALID [2022-02-20 17:29:54,117 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 17:29:54,117 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:54,468 INFO L290 TraceCheckUtils]: 40: Hoare triple {1059#false} assume !false; {1059#false} is VALID [2022-02-20 17:29:54,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {1183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1059#false} is VALID [2022-02-20 17:29:54,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:54,470 INFO L272 TraceCheckUtils]: 37: Hoare triple {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:54,470 INFO L290 TraceCheckUtils]: 36: Hoare triple {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume !false; {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:29:54,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:29:54,471 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:54,472 INFO L290 TraceCheckUtils]: 33: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,472 INFO L290 TraceCheckUtils]: 32: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,472 INFO L272 TraceCheckUtils]: 30: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,473 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:54,473 INFO L290 TraceCheckUtils]: 28: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,473 INFO L272 TraceCheckUtils]: 25: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,474 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:54,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,474 INFO L290 TraceCheckUtils]: 21: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,475 INFO L272 TraceCheckUtils]: 20: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:54,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {1058#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:54,476 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1058#true} {1058#true} #82#return; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L272 TraceCheckUtils]: 13: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1058#true} {1058#true} #80#return; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 10: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L272 TraceCheckUtils]: 8: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {1058#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1058#true} {1058#true} #78#return; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 4: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:54,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:54,477 INFO L272 TraceCheckUtils]: 2: Hoare triple {1058#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:54,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {1058#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1058#true} is VALID [2022-02-20 17:29:54,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {1058#true} assume { :begin_inline_ULTIMATE.init } 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); {1058#true} is VALID [2022-02-20 17:29:54,477 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:29:54,477 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:54,477 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [919394518] [2022-02-20 17:29:54,477 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:54,477 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1717951800] [2022-02-20 17:29:54,477 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1717951800] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:54,477 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:54,477 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-02-20 17:29:54,478 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759792855] [2022-02-20 17:29:54,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:54,478 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-02-20 17:29:54,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:54,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:54,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:54,504 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:29:54,504 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:54,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:29:54,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:29:54,505 INFO L87 Difference]: Start difference. First operand 51 states and 64 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:54,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,720 INFO L93 Difference]: Finished difference Result 64 states and 81 transitions. [2022-02-20 17:29:54,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:54,720 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-02-20 17:29:54,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:54,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:54,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:54,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:54,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:54,723 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:29:54,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:54,768 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:29:54,768 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 17:29:54,768 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 70 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-02-20 17:29:54,769 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 12 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:54,769 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:54,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 17:29:54,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-02-20 17:29:54,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:54,775 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:54,775 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:54,776 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:54,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,778 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:54,778 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:54,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:54,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:54,778 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-02-20 17:29:54,778 INFO L87 Difference]: Start difference. First operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-02-20 17:29:54,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,780 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:54,780 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:54,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:54,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:54,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:54,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:54,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:54,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 76 transitions. [2022-02-20 17:29:54,783 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 76 transitions. Word has length 41 [2022-02-20 17:29:54,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:54,783 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 76 transitions. [2022-02-20 17:29:54,783 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:54,783 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 76 transitions. [2022-02-20 17:29:54,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:29:54,784 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:54,784 INFO L514 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] [2022-02-20 17:29:54,802 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-02-20 17:29:54,999 WARN L452 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-02-20 17:29:54,999 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:55,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:55,000 INFO L85 PathProgramCache]: Analyzing trace with hash 105343995, now seen corresponding path program 1 times [2022-02-20 17:29:55,000 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:55,000 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990194400] [2022-02-20 17:29:55,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:55,012 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:55,012 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1633442772] [2022-02-20 17:29:55,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,013 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:55,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:55,013 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-02-20 17:29:55,031 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-02-20 17:29:55,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,064 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 17:29:55,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,074 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:55,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {1615#true} assume { :begin_inline_ULTIMATE.init } 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); {1615#true} is VALID [2022-02-20 17:29:55,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {1615#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1615#true} is VALID [2022-02-20 17:29:55,719 INFO L272 TraceCheckUtils]: 2: Hoare triple {1615#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,719 INFO L290 TraceCheckUtils]: 3: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,719 INFO L290 TraceCheckUtils]: 4: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1615#true} {1615#true} #78#return; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {1615#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L272 TraceCheckUtils]: 8: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L290 TraceCheckUtils]: 10: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L290 TraceCheckUtils]: 11: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1615#true} {1615#true} #80#return; {1615#true} is VALID [2022-02-20 17:29:55,720 INFO L272 TraceCheckUtils]: 13: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {1615#true} ~cond := #in~cond; {1662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:55,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {1662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:55,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {1666#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:55,726 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1666#(not (= |assume_abort_if_not_#in~cond| 0))} {1615#true} #82#return; {1673#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} is VALID [2022-02-20 17:29:55,727 INFO L290 TraceCheckUtils]: 18: Hoare triple {1673#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:55,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:55,727 INFO L272 TraceCheckUtils]: 20: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,727 INFO L290 TraceCheckUtils]: 21: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,727 INFO L290 TraceCheckUtils]: 22: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,727 INFO L290 TraceCheckUtils]: 23: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,728 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #84#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:55,728 INFO L272 TraceCheckUtils]: 25: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,728 INFO L290 TraceCheckUtils]: 26: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,728 INFO L290 TraceCheckUtils]: 27: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,729 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #86#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:55,729 INFO L272 TraceCheckUtils]: 30: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,729 INFO L290 TraceCheckUtils]: 32: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,729 INFO L290 TraceCheckUtils]: 33: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,729 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #88#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:55,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:55,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} assume !false; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:55,731 INFO L272 TraceCheckUtils]: 37: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,731 INFO L290 TraceCheckUtils]: 38: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,732 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1615#true} {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} #84#return; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:55,732 INFO L272 TraceCheckUtils]: 42: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:55,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:55,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:55,732 INFO L290 TraceCheckUtils]: 45: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:55,733 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1615#true} {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} #86#return; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:55,734 INFO L272 TraceCheckUtils]: 47: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:55,734 INFO L290 TraceCheckUtils]: 48: Hoare triple {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1770#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:55,734 INFO L290 TraceCheckUtils]: 49: Hoare triple {1770#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1616#false} is VALID [2022-02-20 17:29:55,734 INFO L290 TraceCheckUtils]: 50: Hoare triple {1616#false} assume !false; {1616#false} is VALID [2022-02-20 17:29:55,735 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 17:29:55,735 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:56,066 INFO L290 TraceCheckUtils]: 50: Hoare triple {1616#false} assume !false; {1616#false} is VALID [2022-02-20 17:29:56,067 INFO L290 TraceCheckUtils]: 49: Hoare triple {1770#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1616#false} is VALID [2022-02-20 17:29:56,068 INFO L290 TraceCheckUtils]: 48: Hoare triple {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1770#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:56,068 INFO L272 TraceCheckUtils]: 47: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:56,069 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #86#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,069 INFO L290 TraceCheckUtils]: 45: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,069 INFO L290 TraceCheckUtils]: 43: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,069 INFO L272 TraceCheckUtils]: 42: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,070 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #84#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,070 INFO L290 TraceCheckUtils]: 40: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,070 INFO L290 TraceCheckUtils]: 39: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,070 INFO L290 TraceCheckUtils]: 38: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,070 INFO L272 TraceCheckUtils]: 37: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,076 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #88#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,076 INFO L290 TraceCheckUtils]: 33: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,077 INFO L272 TraceCheckUtils]: 30: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,078 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #86#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,078 INFO L272 TraceCheckUtils]: 25: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,079 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #84#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,079 INFO L290 TraceCheckUtils]: 23: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,079 INFO L290 TraceCheckUtils]: 22: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,079 INFO L290 TraceCheckUtils]: 21: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,079 INFO L272 TraceCheckUtils]: 20: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 18: Hoare triple {1615#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:56,080 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1615#true} {1615#true} #82#return; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 16: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 15: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L272 TraceCheckUtils]: 13: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1615#true} {1615#true} #80#return; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 11: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 10: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L272 TraceCheckUtils]: 8: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {1615#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1615#true} is VALID [2022-02-20 17:29:56,080 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1615#true} {1615#true} #78#return; {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L290 TraceCheckUtils]: 4: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L290 TraceCheckUtils]: 3: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L272 TraceCheckUtils]: 2: Hoare triple {1615#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {1615#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {1615#true} assume { :begin_inline_ULTIMATE.init } 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); {1615#true} is VALID [2022-02-20 17:29:56,081 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-02-20 17:29:56,081 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:56,081 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990194400] [2022-02-20 17:29:56,081 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:56,081 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1633442772] [2022-02-20 17:29:56,081 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1633442772] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:56,081 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:56,081 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:29:56,082 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [628092031] [2022-02-20 17:29:56,082 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:56,082 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-02-20 17:29:56,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:56,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:56,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:56,151 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:56,151 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:56,152 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:56,152 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:29:56,152 INFO L87 Difference]: Start difference. First operand 60 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:56,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:56,351 INFO L93 Difference]: Finished difference Result 72 states and 91 transitions. [2022-02-20 17:29:56,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:56,351 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-02-20 17:29:56,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:56,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:56,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:29:56,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:56,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:29:56,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2022-02-20 17:29:56,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:56,395 INFO L225 Difference]: With dead ends: 72 [2022-02-20 17:29:56,395 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 17:29:56,395 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 90 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-02-20 17:29:56,396 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:56,396 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 125 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:56,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 17:29:56,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 67. [2022-02-20 17:29:56,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:56,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:56,402 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:56,403 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:56,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:56,405 INFO L93 Difference]: Finished difference Result 70 states and 89 transitions. [2022-02-20 17:29:56,405 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 89 transitions. [2022-02-20 17:29:56,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:56,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:56,405 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 70 states. [2022-02-20 17:29:56,405 INFO L87 Difference]: Start difference. First operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 70 states. [2022-02-20 17:29:56,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:56,407 INFO L93 Difference]: Finished difference Result 70 states and 89 transitions. [2022-02-20 17:29:56,407 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 89 transitions. [2022-02-20 17:29:56,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:56,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:56,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:56,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:56,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:56,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 84 transitions. [2022-02-20 17:29:56,410 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 84 transitions. Word has length 51 [2022-02-20 17:29:56,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:56,410 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 84 transitions. [2022-02-20 17:29:56,410 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:56,410 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 84 transitions. [2022-02-20 17:29:56,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:29:56,410 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:56,411 INFO L514 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] [2022-02-20 17:29:56,441 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-02-20 17:29:56,626 WARN L452 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-02-20 17:29:56,627 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:56,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:56,627 INFO L85 PathProgramCache]: Analyzing trace with hash 957489548, now seen corresponding path program 1 times [2022-02-20 17:29:56,627 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:56,627 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2097820281] [2022-02-20 17:29:56,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:56,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:56,639 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:56,639 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [503326133] [2022-02-20 17:29:56,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:56,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:56,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:56,640 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-02-20 17:29:56,641 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-02-20 17:29:56,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:56,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:29:56,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:56,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {2268#true} assume { :begin_inline_ULTIMATE.init } 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); {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {2268#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L272 TraceCheckUtils]: 2: Hoare triple {2268#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 3: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 4: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2268#true} {2268#true} #78#return; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {2268#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L272 TraceCheckUtils]: 8: Hoare triple {2268#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 10: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,844 INFO L290 TraceCheckUtils]: 11: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2268#true} {2268#true} #80#return; {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L272 TraceCheckUtils]: 13: Hoare triple {2268#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2268#true} {2268#true} #82#return; {2268#true} is VALID [2022-02-20 17:29:56,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {2268#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,846 INFO L272 TraceCheckUtils]: 20: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,846 INFO L290 TraceCheckUtils]: 21: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,846 INFO L290 TraceCheckUtils]: 22: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,846 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,846 INFO L272 TraceCheckUtils]: 25: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L290 TraceCheckUtils]: 27: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L290 TraceCheckUtils]: 28: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,847 INFO L272 TraceCheckUtils]: 30: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,848 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,849 INFO L290 TraceCheckUtils]: 36: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,849 INFO L272 TraceCheckUtils]: 37: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,849 INFO L290 TraceCheckUtils]: 38: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,849 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,849 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,849 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #90#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,849 INFO L272 TraceCheckUtils]: 42: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:29:56,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:29:56,850 INFO L290 TraceCheckUtils]: 44: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:29:56,850 INFO L290 TraceCheckUtils]: 45: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:29:56,850 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #92#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,851 INFO L290 TraceCheckUtils]: 47: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(1 != main_~p~0#1); {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,851 INFO L272 TraceCheckUtils]: 48: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2418#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:56,852 INFO L290 TraceCheckUtils]: 49: Hoare triple {2418#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2422#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:56,852 INFO L290 TraceCheckUtils]: 50: Hoare triple {2422#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2269#false} is VALID [2022-02-20 17:29:56,852 INFO L290 TraceCheckUtils]: 51: Hoare triple {2269#false} assume !false; {2269#false} is VALID [2022-02-20 17:29:56,852 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:29:56,852 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:56,852 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:56,852 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2097820281] [2022-02-20 17:29:56,852 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:56,852 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [503326133] [2022-02-20 17:29:56,852 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [503326133] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:56,853 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:56,853 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:56,853 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546037235] [2022-02-20 17:29:56,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:56,853 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-02-20 17:29:56,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:56,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:29:56,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:56,877 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:56,877 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:56,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:56,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:56,878 INFO L87 Difference]: Start difference. First operand 67 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:29:57,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,051 INFO L93 Difference]: Finished difference Result 75 states and 92 transitions. [2022-02-20 17:29:57,051 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:57,051 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-02-20 17:29:57,051 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:57,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:29:57,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:57,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:29:57,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:57,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:29:57,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:57,101 INFO L225 Difference]: With dead ends: 75 [2022-02-20 17:29:57,101 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 17:29:57,101 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 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-02-20 17:29:57,102 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 8 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:57,102 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:57,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 17:29:57,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2022-02-20 17:29:57,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:57,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:29:57,112 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:29:57,112 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:29:57,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,114 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:29:57,114 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:29:57,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:57,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:57,115 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 68 states. [2022-02-20 17:29:57,115 INFO L87 Difference]: Start difference. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 68 states. [2022-02-20 17:29:57,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,117 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:29:57,117 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:29:57,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:57,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:57,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:57,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:57,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:29:57,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-02-20 17:29:57,120 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 52 [2022-02-20 17:29:57,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:57,120 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-02-20 17:29:57,120 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:29:57,120 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-02-20 17:29:57,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:29:57,120 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:57,121 INFO L514 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] [2022-02-20 17:29:57,139 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-02-20 17:29:57,336 WARN L452 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-02-20 17:29:57,337 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:57,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:57,337 INFO L85 PathProgramCache]: Analyzing trace with hash -1754894755, now seen corresponding path program 1 times [2022-02-20 17:29:57,337 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:57,337 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [505891075] [2022-02-20 17:29:57,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:57,337 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:57,349 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:57,349 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [481735064] [2022-02-20 17:29:57,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:57,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:57,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:57,350 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-02-20 17:29:57,351 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-02-20 17:29:57,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:57,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:29:57,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:57,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {2768#true} assume { :begin_inline_ULTIMATE.init } 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); {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {2768#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L272 TraceCheckUtils]: 2: Hoare triple {2768#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 3: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 4: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2768#true} {2768#true} #78#return; {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {2768#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2768#true} is VALID [2022-02-20 17:30:01,010 INFO L272 TraceCheckUtils]: 8: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 10: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2768#true} {2768#true} #80#return; {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L272 TraceCheckUtils]: 13: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L290 TraceCheckUtils]: 16: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,011 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2768#true} {2768#true} #82#return; {2768#true} is VALID [2022-02-20 17:30:01,012 INFO L290 TraceCheckUtils]: 18: Hoare triple {2768#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,012 INFO L290 TraceCheckUtils]: 19: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,012 INFO L272 TraceCheckUtils]: 20: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,013 INFO L290 TraceCheckUtils]: 21: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,013 INFO L290 TraceCheckUtils]: 22: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,017 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,017 INFO L272 TraceCheckUtils]: 25: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,017 INFO L290 TraceCheckUtils]: 26: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,017 INFO L290 TraceCheckUtils]: 28: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,018 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,018 INFO L272 TraceCheckUtils]: 30: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,018 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 36: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,020 INFO L272 TraceCheckUtils]: 37: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 38: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 40: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,020 INFO L272 TraceCheckUtils]: 42: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,021 INFO L290 TraceCheckUtils]: 45: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,022 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,022 INFO L272 TraceCheckUtils]: 47: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,022 INFO L290 TraceCheckUtils]: 48: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,022 INFO L290 TraceCheckUtils]: 49: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,022 INFO L290 TraceCheckUtils]: 50: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,023 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,023 INFO L290 TraceCheckUtils]: 52: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,024 INFO L290 TraceCheckUtils]: 53: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,024 INFO L272 TraceCheckUtils]: 54: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,024 INFO L290 TraceCheckUtils]: 55: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,024 INFO L290 TraceCheckUtils]: 56: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,024 INFO L290 TraceCheckUtils]: 57: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,024 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2768#true} {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #90#return; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,025 INFO L272 TraceCheckUtils]: 59: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:01,025 INFO L290 TraceCheckUtils]: 60: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:01,025 INFO L290 TraceCheckUtils]: 61: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:01,025 INFO L290 TraceCheckUtils]: 62: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:01,025 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2768#true} {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #92#return; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:01,026 INFO L290 TraceCheckUtils]: 64: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {2968#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (not (<= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:01,027 INFO L290 TraceCheckUtils]: 65: Hoare triple {2968#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (not (<= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|)))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:01,028 INFO L290 TraceCheckUtils]: 66: Hoare triple {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} assume !false; {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:01,028 INFO L272 TraceCheckUtils]: 67: Hoare triple {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:01,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2983#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:01,029 INFO L290 TraceCheckUtils]: 69: Hoare triple {2983#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2769#false} is VALID [2022-02-20 17:30:01,029 INFO L290 TraceCheckUtils]: 70: Hoare triple {2769#false} assume !false; {2769#false} is VALID [2022-02-20 17:30:01,029 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-02-20 17:30:01,029 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:06,417 INFO L290 TraceCheckUtils]: 70: Hoare triple {2769#false} assume !false; {2769#false} is VALID [2022-02-20 17:30:06,418 INFO L290 TraceCheckUtils]: 69: Hoare triple {2983#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2769#false} is VALID [2022-02-20 17:30:06,418 INFO L290 TraceCheckUtils]: 68: Hoare triple {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2983#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:06,419 INFO L272 TraceCheckUtils]: 67: Hoare triple {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:06,419 INFO L290 TraceCheckUtils]: 66: Hoare triple {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume !false; {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:06,421 INFO L290 TraceCheckUtils]: 65: Hoare triple {3006#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:06,430 INFO L290 TraceCheckUtils]: 64: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {3006#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:06,431 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2768#true} {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #92#return; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:06,431 INFO L290 TraceCheckUtils]: 62: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,431 INFO L290 TraceCheckUtils]: 61: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,431 INFO L290 TraceCheckUtils]: 60: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,432 INFO L272 TraceCheckUtils]: 59: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,432 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2768#true} {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #90#return; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:06,432 INFO L290 TraceCheckUtils]: 57: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,432 INFO L290 TraceCheckUtils]: 56: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,432 INFO L290 TraceCheckUtils]: 55: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,433 INFO L272 TraceCheckUtils]: 54: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,434 INFO L290 TraceCheckUtils]: 53: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !false; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:06,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:06,436 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:06,436 INFO L290 TraceCheckUtils]: 50: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,436 INFO L290 TraceCheckUtils]: 48: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,436 INFO L272 TraceCheckUtils]: 47: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,437 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:06,437 INFO L290 TraceCheckUtils]: 45: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,437 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,437 INFO L290 TraceCheckUtils]: 43: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,437 INFO L272 TraceCheckUtils]: 42: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,437 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:06,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,438 INFO L272 TraceCheckUtils]: 37: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,439 INFO L290 TraceCheckUtils]: 36: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:06,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:06,442 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:06,442 INFO L290 TraceCheckUtils]: 33: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,443 INFO L272 TraceCheckUtils]: 30: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,448 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:06,448 INFO L290 TraceCheckUtils]: 28: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,448 INFO L272 TraceCheckUtils]: 25: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,449 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:06,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,449 INFO L272 TraceCheckUtils]: 20: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:06,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {2768#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:06,451 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2768#true} {2768#true} #82#return; {2768#true} is VALID [2022-02-20 17:30:06,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L272 TraceCheckUtils]: 13: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2768#true} {2768#true} #80#return; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L272 TraceCheckUtils]: 8: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {2768#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2768#true} {2768#true} #78#return; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 4: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L272 TraceCheckUtils]: 2: Hoare triple {2768#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {2768#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2768#true} is VALID [2022-02-20 17:30:06,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {2768#true} assume { :begin_inline_ULTIMATE.init } 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); {2768#true} is VALID [2022-02-20 17:30:06,453 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-02-20 17:30:06,453 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:30:06,453 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [505891075] [2022-02-20 17:30:06,453 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:30:06,453 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [481735064] [2022-02-20 17:30:06,453 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [481735064] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:30:06,453 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:30:06,453 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-02-20 17:30:06,454 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [818277233] [2022-02-20 17:30:06,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:30:06,454 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 71 [2022-02-20 17:30:06,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:30:06,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:06,546 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:06,546 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 17:30:06,546 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:30:06,547 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 17:30:06,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:30:06,547 INFO L87 Difference]: Start difference. First operand 67 states and 81 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:18,101 WARN L228 SmtUtils]: Spent 9.23s on a formula simplification. DAG size of input: 57 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-02-20 17:30:32,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:32,163 INFO L93 Difference]: Finished difference Result 165 states and 227 transitions. [2022-02-20 17:30:32,163 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 17:30:32,163 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 71 [2022-02-20 17:30:32,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:30:32,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:32,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-02-20 17:30:32,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:32,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-02-20 17:30:32,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 166 transitions. [2022-02-20 17:30:32,610 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:32,612 INFO L225 Difference]: With dead ends: 165 [2022-02-20 17:30:32,612 INFO L226 Difference]: Without dead ends: 138 [2022-02-20 17:30:32,613 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 11.5s TimeCoverageRelationStatistics Valid=95, Invalid=285, Unknown=0, NotChecked=0, Total=380 [2022-02-20 17:30:32,613 INFO L933 BasicCegarLoop]: 52 mSDtfsCounter, 51 mSDsluCounter, 260 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 112 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 112 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:30:32,613 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 312 Invalid, 403 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [112 Valid, 291 Invalid, 0 Unknown, 0 Unchecked, 4.5s Time] [2022-02-20 17:30:32,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-02-20 17:30:32,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 102. [2022-02-20 17:30:32,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:30:32,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:32,653 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:32,653 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:32,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:32,660 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 17:30:32,660 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 17:30:32,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:32,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:32,661 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 138 states. [2022-02-20 17:30:32,661 INFO L87 Difference]: Start difference. First operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 138 states. [2022-02-20 17:30:32,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:32,665 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 17:30:32,665 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 17:30:32,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:32,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:32,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:30:32,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:30:32,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:32,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 129 transitions. [2022-02-20 17:30:32,670 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 129 transitions. Word has length 71 [2022-02-20 17:30:32,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:30:32,671 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 129 transitions. [2022-02-20 17:30:32,671 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:32,671 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 129 transitions. [2022-02-20 17:30:32,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-02-20 17:30:32,673 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:30:32,673 INFO L514 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] [2022-02-20 17:30:32,693 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-02-20 17:30:32,888 WARN L452 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-02-20 17:30:32,888 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:32,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:32,888 INFO L85 PathProgramCache]: Analyzing trace with hash -1620227847, now seen corresponding path program 1 times [2022-02-20 17:30:32,889 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:32,889 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258924084] [2022-02-20 17:30:32,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:32,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:32,911 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:32,914 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [536136044] [2022-02-20 17:30:32,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:32,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:32,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:32,915 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-02-20 17:30:32,916 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-02-20 17:30:32,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:32,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 17:30:32,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:32,971 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:36,376 INFO L290 TraceCheckUtils]: 0: Hoare triple {3878#true} assume { :begin_inline_ULTIMATE.init } 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); {3878#true} is VALID [2022-02-20 17:30:36,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {3878#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3878#true} is VALID [2022-02-20 17:30:36,376 INFO L272 TraceCheckUtils]: 2: Hoare triple {3878#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,376 INFO L290 TraceCheckUtils]: 4: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3878#true} {3878#true} #78#return; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {3878#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L272 TraceCheckUtils]: 8: Hoare triple {3878#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 10: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3878#true} {3878#true} #80#return; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L272 TraceCheckUtils]: 13: Hoare triple {3878#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,377 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3878#true} {3878#true} #82#return; {3878#true} is VALID [2022-02-20 17:30:36,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {3878#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:36,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:36,378 INFO L272 TraceCheckUtils]: 20: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,378 INFO L290 TraceCheckUtils]: 22: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,379 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3878#true} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:36,379 INFO L272 TraceCheckUtils]: 25: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,379 INFO L290 TraceCheckUtils]: 26: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,379 INFO L290 TraceCheckUtils]: 28: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,379 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3878#true} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:36,379 INFO L272 TraceCheckUtils]: 30: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,380 INFO L290 TraceCheckUtils]: 31: Hoare triple {3878#true} ~cond := #in~cond; {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:36,380 INFO L290 TraceCheckUtils]: 32: Hoare triple {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:36,380 INFO L290 TraceCheckUtils]: 33: Hoare triple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:36,381 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {3988#(and (< |ULTIMATE.start_main_~d~0#1| 4294967296) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= 0 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:30:36,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {3988#(and (< |ULTIMATE.start_main_~d~0#1| 4294967296) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= 0 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 36: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,383 INFO L272 TraceCheckUtils]: 37: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 38: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #84#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,383 INFO L272 TraceCheckUtils]: 42: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,384 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #86#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,384 INFO L272 TraceCheckUtils]: 47: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,384 INFO L290 TraceCheckUtils]: 50: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,385 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #88#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,385 INFO L290 TraceCheckUtils]: 52: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,386 INFO L272 TraceCheckUtils]: 54: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,386 INFO L290 TraceCheckUtils]: 55: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,386 INFO L290 TraceCheckUtils]: 56: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,386 INFO L290 TraceCheckUtils]: 57: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,386 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3878#true} {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #90#return; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,386 INFO L272 TraceCheckUtils]: 59: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,386 INFO L290 TraceCheckUtils]: 60: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,387 INFO L290 TraceCheckUtils]: 61: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,387 INFO L290 TraceCheckUtils]: 62: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,387 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {3878#true} {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #92#return; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:36,388 INFO L290 TraceCheckUtils]: 64: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {4081#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~r~0#1| 1)) (< |ULTIMATE.start_main_~r~0#1| (* 2 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:30:36,389 INFO L290 TraceCheckUtils]: 65: Hoare triple {4081#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~r~0#1| 1)) (< |ULTIMATE.start_main_~r~0#1| (* 2 |ULTIMATE.start_main_~d~0#1|)))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:36,389 INFO L290 TraceCheckUtils]: 66: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} assume !false; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:36,389 INFO L272 TraceCheckUtils]: 67: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,389 INFO L290 TraceCheckUtils]: 68: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,389 INFO L290 TraceCheckUtils]: 69: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,390 INFO L290 TraceCheckUtils]: 70: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,390 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {3878#true} {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} #90#return; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:36,390 INFO L272 TraceCheckUtils]: 72: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:36,390 INFO L290 TraceCheckUtils]: 73: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:36,390 INFO L290 TraceCheckUtils]: 74: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:36,390 INFO L290 TraceCheckUtils]: 75: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:36,391 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {3878#true} {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} #92#return; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:36,391 INFO L290 TraceCheckUtils]: 77: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} assume !(1 != main_~p~0#1); {4122#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~q~0#1| 1) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:36,392 INFO L272 TraceCheckUtils]: 78: Hoare triple {4122#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~q~0#1| 1) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {4126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:36,392 INFO L290 TraceCheckUtils]: 79: Hoare triple {4126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:36,393 INFO L290 TraceCheckUtils]: 80: Hoare triple {4130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3879#false} is VALID [2022-02-20 17:30:36,393 INFO L290 TraceCheckUtils]: 81: Hoare triple {3879#false} assume !false; {3879#false} is VALID [2022-02-20 17:30:36,393 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 25 proven. 31 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-02-20 17:30:36,393 INFO L328 TraceCheckSpWp]: Computing backward predicates...