./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound1.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_valuebound1.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 0bb6780cd72c063a3ddf598e6503fa6a629155476e6b8e08224a0e59d0bc00b9 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:29:48,811 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:29:48,813 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:29:48,844 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:29:48,844 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:29:48,847 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:29:48,848 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:29:48,850 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:29:48,851 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:29:48,854 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:29:48,855 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:29:48,856 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:29:48,856 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:29:48,858 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:29:48,859 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:29:48,861 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:29:48,862 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:29:48,863 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:29:48,865 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:29:48,869 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:29:48,869 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:29:48,870 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:29:48,871 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:29:48,872 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:29:48,876 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:29:48,877 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:29:48,877 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:29:48,879 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:29:48,879 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:29:48,880 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:29:48,880 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:29:48,881 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:29:48,882 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:29:48,883 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:29:48,883 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:29:48,884 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:29:48,884 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:29:48,884 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:29:48,884 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:29:48,885 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:29:48,885 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:29:48,886 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:48,910 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:29:48,911 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:29:48,911 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:29:48,911 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:29:48,912 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:29:48,912 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:29:48,913 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:29:48,913 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:29:48,913 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:29:48,913 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:29:48,914 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:29:48,914 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:29:48,914 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:29:48,914 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:29:48,914 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:29:48,915 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:29:48,916 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:29:48,916 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:29:48,916 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:29:48,916 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:48,916 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:29:48,916 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:29:48,916 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:29:48,917 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:29:48,917 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:29:48,917 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:29:48,917 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:29:48,917 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:29:48,917 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 -> 0bb6780cd72c063a3ddf598e6503fa6a629155476e6b8e08224a0e59d0bc00b9 [2022-02-20 17:29:49,096 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:29:49,110 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:29:49,112 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:29:49,112 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:29:49,113 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:29:49,114 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound1.c [2022-02-20 17:29:49,161 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a9ee4047/0983979a203f4bb4a36fe058e39b6488/FLAG6d4af07cb [2022-02-20 17:29:49,490 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:29:49,490 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound1.c [2022-02-20 17:29:49,494 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a9ee4047/0983979a203f4bb4a36fe058e39b6488/FLAG6d4af07cb [2022-02-20 17:29:49,926 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a9ee4047/0983979a203f4bb4a36fe058e39b6488 [2022-02-20 17:29:49,928 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:29:49,929 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:29:49,930 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:49,930 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:29:49,944 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:29:49,945 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,947 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c9af48e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49, skipping insertion in model container [2022-02-20 17:29:49,947 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,952 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:29:49,964 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:29:50,072 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_valuebound1.c[538,551] [2022-02-20 17:29:50,095 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:50,101 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:29:50,108 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_valuebound1.c[538,551] [2022-02-20 17:29:50,113 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:50,121 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:29:50,121 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,122 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:50,122 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:50,122 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:29:50,123 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:29:50,127 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,131 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,143 INFO L137 Inliner]: procedures = 14, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 55 [2022-02-20 17:29:50,146 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:50,147 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:29:50,147 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:29:50,147 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:29:50,152 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,152 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,160 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,160 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,163 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,168 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,178 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,179 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:29:50,180 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:29:50,180 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:29:50,181 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:29:50,181 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,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:50,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:50,209 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,224 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,237 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:29:50,237 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:29:50,238 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:29:50,238 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:29:50,238 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:29:50,238 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:29:50,238 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:29:50,238 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:29:50,276 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:29:50,277 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:29:50,394 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:29:50,399 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:29:50,399 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:29:50,400 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,400 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:29:50,409 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:29:50,410 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:29:50,419 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:29:50,419 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:29:49" (1/3) ... [2022-02-20 17:29:50,419 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59ce4b17 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,419 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,420 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59ce4b17 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,420 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,421 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-02-20 17:29:50,424 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:29:50,424 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:29:50,464 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:29:50,468 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,468 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:29:50,488 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:50,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:50,493 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:50,494 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:50,495 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:50,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:50,502 INFO L85 PathProgramCache]: Analyzing trace with hash -487550744, now seen corresponding path program 1 times [2022-02-20 17:29:50,511 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:50,512 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1658745255] [2022-02-20 17:29:50,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:50,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:50,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:50,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:50,710 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:50,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,725 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:50,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:50,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:50,745 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:50,746 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:50,746 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 <= 1 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:50,746 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,747 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,747 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:50,748 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:50,748 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 <= 1 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:50,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,749 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,749 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:50,750 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:50,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:50,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:50,755 INFO L290 TraceCheckUtils]: 16: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:50,755 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:50,756 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:50,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:50,756 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:50,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2022-02-20 17:29:50,757 INFO L290 TraceCheckUtils]: 22: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2022-02-20 17:29:50,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:50,758 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:50,758 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:50,759 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1658745255] [2022-02-20 17:29:50,760 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1658745255] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:50,760 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:50,760 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:29:50,762 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113527851] [2022-02-20 17:29:50,763 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:50,768 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:50,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:50,772 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:50,802 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:50,803 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:29:50,803 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:50,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:29:50,830 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:50,833 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:50,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,924 INFO L93 Difference]: Finished difference Result 63 states and 104 transitions. [2022-02-20 17:29:50,924 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:29:50,924 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:50,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:50,926 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:50,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:50,934 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:50,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:50,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 104 transitions. [2022-02-20 17:29:51,074 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,081 INFO L225 Difference]: With dead ends: 63 [2022-02-20 17:29:51,082 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 17:29:51,092 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,096 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,097 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,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 17:29:51,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 17:29:51,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:51,122 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,123 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,124 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,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,131 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:51,131 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,133 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,133 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,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,137 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:51,137 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,138 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:51,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:51,138 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,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 39 transitions. [2022-02-20 17:29:51,141 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 39 transitions. Word has length 24 [2022-02-20 17:29:51,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:51,142 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 39 transitions. [2022-02-20 17:29:51,142 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,142 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:51,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:51,144 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,144 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,145 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:29:51,145 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,145 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,146 INFO L85 PathProgramCache]: Analyzing trace with hash -1636258074, now seen corresponding path program 1 times [2022-02-20 17:29:51,146 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,146 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437391345] [2022-02-20 17:29:51,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,147 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,218 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:51,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,239 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:51,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:51,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:51,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:51,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:51,265 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,265 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,265 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 <= 1 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:51,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,266 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:51,266 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,277 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 <= 1 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:51,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,277 INFO L290 TraceCheckUtils]: 10: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,277 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:51,277 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,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:51,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:51,278 INFO L290 TraceCheckUtils]: 16: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:51,278 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:51,279 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,279 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,280 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,281 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,281 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,281 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#false} assume !false; {243#false} is VALID [2022-02-20 17:29:51,282 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,282 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:51,282 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1437391345] [2022-02-20 17:29:51,282 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1437391345] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:51,282 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:51,283 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:51,283 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [743733272] [2022-02-20 17:29:51,283 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:51,284 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,284 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:51,285 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,297 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,298 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:51,298 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:51,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:51,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:51,299 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,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,421 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:29:51,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:51,421 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,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:51,422 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,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,424 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,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,426 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:51,463 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,465 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:29:51,465 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:29:51,465 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,466 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,466 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,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:29:51,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:29:51,470 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:51,471 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,471 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,471 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,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,474 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:51,474 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:51,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,475 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,487 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,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,490 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:51,490 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:51,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:51,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:51,491 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,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 42 transitions. [2022-02-20 17:29:51,493 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 42 transitions. Word has length 24 [2022-02-20 17:29:51,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:51,494 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 42 transitions. [2022-02-20 17:29:51,494 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,494 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 42 transitions. [2022-02-20 17:29:51,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:29:51,495 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,495 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,495 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:29:51,495 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,496 INFO L85 PathProgramCache]: Analyzing trace with hash 906849917, now seen corresponding path program 1 times [2022-02-20 17:29:51,496 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,496 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1278428304] [2022-02-20 17:29:51,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,570 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:51,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:51,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:51,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:51,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:51,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,583 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:51,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 17:29:51,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,603 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,604 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,604 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,604 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 <= 1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,606 INFO L290 TraceCheckUtils]: 4: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,606 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:51,606 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,606 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 <= 1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:51,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,607 INFO L290 TraceCheckUtils]: 10: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,607 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:51,607 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,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,608 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:51,608 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,609 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,609 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,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:51,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:51,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:51,610 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,611 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,611 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,612 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,612 INFO L290 TraceCheckUtils]: 28: Hoare triple {451#false} assume !false; {451#false} is VALID [2022-02-20 17:29:51,612 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,612 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:51,612 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1278428304] [2022-02-20 17:29:51,612 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1278428304] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:51,612 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:51,613 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:51,613 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1110231683] [2022-02-20 17:29:51,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:51,613 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,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:51,613 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,630 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,630 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:51,630 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:51,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:51,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:51,631 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:51,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,821 INFO L93 Difference]: Finished difference Result 46 states and 59 transitions. [2022-02-20 17:29:51,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:51,821 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,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:51,822 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:51,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,823 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:51,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:51,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:51,888 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,890 INFO L225 Difference]: With dead ends: 46 [2022-02-20 17:29:51,890 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 17:29:51,890 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:51,891 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:51,892 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:51,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 17:29:51,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-02-20 17:29:51,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:51,896 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:51,896 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:51,897 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:51,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,899 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:51,899 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:51,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,900 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:51,900 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:51,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:51,903 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:51,903 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:51,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:51,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:51,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:51,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:51,904 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:51,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2022-02-20 17:29:51,905 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 29 [2022-02-20 17:29:51,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:51,906 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2022-02-20 17:29:51,906 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:51,906 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-02-20 17:29:51,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:29:51,907 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:51,907 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:51,907 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:29:51,907 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:51,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:51,908 INFO L85 PathProgramCache]: Analyzing trace with hash 710995206, now seen corresponding path program 1 times [2022-02-20 17:29:51,908 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:51,908 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1264911761] [2022-02-20 17:29:51,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:51,922 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:51,922 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2003790623] [2022-02-20 17:29:51,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:51,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:51,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:51,924 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:51,925 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:51,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 17:29:51,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:51,980 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:53,004 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:53,004 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:53,005 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 <= 1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:53,006 INFO L290 TraceCheckUtils]: 3: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:53,006 INFO L290 TraceCheckUtils]: 4: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:53,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:53,016 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {680#true} {680#true} #78#return; {680#true} is VALID [2022-02-20 17:29:53,016 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:53,016 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 <= 1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:53,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {680#true} ~cond := #in~cond; {712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:53,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:53,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {716#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:53,026 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {716#(not (= |assume_abort_if_not_#in~cond| 0))} {680#true} #80#return; {723#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:53,027 INFO L272 TraceCheckUtils]: 13: Hoare triple {723#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} 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:53,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {680#true} ~cond := #in~cond; {712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:53,027 INFO L290 TraceCheckUtils]: 15: Hoare triple {712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:53,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {716#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:53,028 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {716#(not (= |assume_abort_if_not_#in~cond| 0))} {723#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} #82#return; {739#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:53,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {739#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (<= 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; {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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:53,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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; {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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:53,029 INFO L272 TraceCheckUtils]: 20: Hoare triple {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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)); {680#true} is VALID [2022-02-20 17:29:53,030 INFO L290 TraceCheckUtils]: 21: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:53,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:53,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:53,030 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {680#true} {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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; {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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:53,030 INFO L272 TraceCheckUtils]: 25: Hoare triple {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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)); {680#true} is VALID [2022-02-20 17:29:53,031 INFO L290 TraceCheckUtils]: 26: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:53,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:53,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:53,031 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {680#true} {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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; {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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:53,032 INFO L272 TraceCheckUtils]: 30: Hoare triple {743#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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)); {780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:53,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:53,033 INFO L290 TraceCheckUtils]: 32: Hoare triple {784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {681#false} is VALID [2022-02-20 17:29:53,033 INFO L290 TraceCheckUtils]: 33: Hoare triple {681#false} assume !false; {681#false} is VALID [2022-02-20 17:29:53,033 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 17:29:53,033 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:53,034 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:53,034 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1264911761] [2022-02-20 17:29:53,034 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:53,034 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2003790623] [2022-02-20 17:29:53,034 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2003790623] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:53,034 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:53,034 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 17:29:53,034 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [896757219] [2022-02-20 17:29:53,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:53,035 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:29:53,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:53,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:29:53,059 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:53,062 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:29:53,063 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:53,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:29:53,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:29:53,064 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:29:53,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,462 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-02-20 17:29:53,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:29:53,463 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:29:53,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:53,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:29:53,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2022-02-20 17:29:53,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:29:53,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2022-02-20 17:29:53,466 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2022-02-20 17:29:53,532 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:53,533 INFO L225 Difference]: With dead ends: 65 [2022-02-20 17:29:53,533 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 17:29:53,534 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:29:53,535 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 36 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:53,541 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 178 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:29:53,541 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 17:29:53,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 17:29:53,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:53,575 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:53,576 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:53,576 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:53,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,580 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:53,580 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:53,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,582 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:53,583 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:53,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,589 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:53,589 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:53,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:53,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:53,590 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:53,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 64 transitions. [2022-02-20 17:29:53,592 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 64 transitions. Word has length 34 [2022-02-20 17:29:53,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:53,593 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 64 transitions. [2022-02-20 17:29:53,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:29:53,593 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:53,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:29:53,606 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:53,606 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:53,623 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:53,807 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:53,807 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:53,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:53,808 INFO L85 PathProgramCache]: Analyzing trace with hash -1829555286, now seen corresponding path program 1 times [2022-02-20 17:29:53,808 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:53,808 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [346626994] [2022-02-20 17:29:53,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:53,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:53,820 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:53,821 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1662653457] [2022-02-20 17:29:53,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:53,821 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:53,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:53,822 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:53,837 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,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:29:53,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:54,856 INFO L290 TraceCheckUtils]: 0: Hoare triple {1064#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); {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {1064#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; {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L272 TraceCheckUtils]: 2: Hoare triple {1064#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L290 TraceCheckUtils]: 3: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L290 TraceCheckUtils]: 4: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1064#true} {1064#true} #78#return; {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {1064#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1064#true} is VALID [2022-02-20 17:29:54,857 INFO L272 TraceCheckUtils]: 8: Hoare triple {1064#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:54,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {1064#true} ~cond := #in~cond; {1096#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:54,858 INFO L290 TraceCheckUtils]: 10: Hoare triple {1096#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1100#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:54,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {1100#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1100#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:54,859 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1100#(not (= |assume_abort_if_not_#in~cond| 0))} {1064#true} #80#return; {1107#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:54,859 INFO L272 TraceCheckUtils]: 13: Hoare triple {1107#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:54,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:54,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:54,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:54,860 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1064#true} {1107#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} #82#return; {1107#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:54,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {1107#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1)} 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; {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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:29:54,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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:29:54,861 INFO L272 TraceCheckUtils]: 20: Hoare triple {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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)); {1064#true} is VALID [2022-02-20 17:29:54,861 INFO L290 TraceCheckUtils]: 21: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:54,861 INFO L290 TraceCheckUtils]: 22: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:54,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:54,862 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1064#true} {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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:29:54,862 INFO L272 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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)); {1064#true} is VALID [2022-02-20 17:29:54,862 INFO L290 TraceCheckUtils]: 26: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:54,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:54,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:54,862 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1064#true} {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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:29:54,863 INFO L272 TraceCheckUtils]: 30: Hoare triple {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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)); {1064#true} is VALID [2022-02-20 17:29:54,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:54,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:54,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:54,863 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1064#true} {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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:29:54,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {1126#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 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); {1178#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {1178#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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; {1178#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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,865 INFO L272 TraceCheckUtils]: 37: Hoare triple {1178#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 1) (= |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)); {1185#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:54,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {1185#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1189#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:54,866 INFO L290 TraceCheckUtils]: 39: Hoare triple {1189#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1065#false} is VALID [2022-02-20 17:29:54,866 INFO L290 TraceCheckUtils]: 40: Hoare triple {1065#false} assume !false; {1065#false} is VALID [2022-02-20 17:29:54,867 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,867 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:55,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {1065#false} assume !false; {1065#false} is VALID [2022-02-20 17:29:55,215 INFO L290 TraceCheckUtils]: 39: Hoare triple {1189#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1065#false} is VALID [2022-02-20 17:29:55,216 INFO L290 TraceCheckUtils]: 38: Hoare triple {1185#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1189#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:55,216 INFO L272 TraceCheckUtils]: 37: Hoare triple {1205#(= (+ (* |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)); {1185#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:55,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {1205#(= (+ (* |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; {1205#(= (+ (* |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:55,217 INFO L290 TraceCheckUtils]: 35: Hoare triple {1212#(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); {1205#(= (+ (* |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:55,218 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1064#true} {1212#(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; {1212#(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:55,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,218 INFO L290 TraceCheckUtils]: 32: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,218 INFO L272 TraceCheckUtils]: 30: Hoare triple {1212#(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)); {1064#true} is VALID [2022-02-20 17:29:55,219 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1064#true} {1212#(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; {1212#(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:55,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,219 INFO L290 TraceCheckUtils]: 26: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,219 INFO L272 TraceCheckUtils]: 25: Hoare triple {1212#(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)); {1064#true} is VALID [2022-02-20 17:29:55,220 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1064#true} {1212#(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; {1212#(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:55,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,220 INFO L290 TraceCheckUtils]: 22: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,220 INFO L272 TraceCheckUtils]: 20: Hoare triple {1212#(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)); {1064#true} is VALID [2022-02-20 17:29:55,220 INFO L290 TraceCheckUtils]: 19: Hoare triple {1212#(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; {1212#(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:55,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {1064#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; {1212#(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:55,221 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1064#true} {1064#true} #82#return; {1064#true} is VALID [2022-02-20 17:29:55,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,221 INFO L272 TraceCheckUtils]: 13: Hoare triple {1064#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1064#true} {1064#true} #80#return; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L272 TraceCheckUtils]: 8: Hoare triple {1064#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {1064#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1064#true} {1064#true} #78#return; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {1064#true} assume true; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 4: Hoare triple {1064#true} assume !(0 == ~cond); {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L290 TraceCheckUtils]: 3: Hoare triple {1064#true} ~cond := #in~cond; {1064#true} is VALID [2022-02-20 17:29:55,222 INFO L272 TraceCheckUtils]: 2: Hoare triple {1064#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {1064#true} is VALID [2022-02-20 17:29:55,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {1064#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; {1064#true} is VALID [2022-02-20 17:29:55,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {1064#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); {1064#true} is VALID [2022-02-20 17:29:55,223 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:55,223 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:55,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [346626994] [2022-02-20 17:29:55,223 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:55,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1662653457] [2022-02-20 17:29:55,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1662653457] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:55,223 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:55,223 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-02-20 17:29:55,224 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [586351441] [2022-02-20 17:29:55,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:55,224 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:55,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:55,224 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:55,249 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:55,249 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:29:55,250 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:55,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:29:55,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:29:55,251 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:55,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:55,472 INFO L93 Difference]: Finished difference Result 64 states and 81 transitions. [2022-02-20 17:29:55,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:55,472 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:55,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:55,473 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:55,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:55,474 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:55,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:55,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:29:55,526 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:55,527 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:29:55,527 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 17:29:55,527 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:55,528 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:55,528 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:55,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 17:29:55,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-02-20 17:29:55,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:55,562 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:55,562 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:55,563 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:55,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:55,565 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:55,565 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:55,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:55,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:55,567 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:55,567 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:55,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:55,569 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:55,569 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:55,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:55,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:55,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:55,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:55,570 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:55,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 76 transitions. [2022-02-20 17:29:55,572 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 76 transitions. Word has length 41 [2022-02-20 17:29:55,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:55,572 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 76 transitions. [2022-02-20 17:29:55,573 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:55,573 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 76 transitions. [2022-02-20 17:29:55,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:29:55,573 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:55,573 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:55,596 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:55,793 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:55,794 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:55,794 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:55,794 INFO L85 PathProgramCache]: Analyzing trace with hash 105343995, now seen corresponding path program 1 times [2022-02-20 17:29:55,794 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:55,795 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1886120530] [2022-02-20 17:29:55,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,795 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:55,807 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:55,807 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1309911068] [2022-02-20 17:29:55,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:55,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:55,808 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,809 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,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 17:29:55,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,851 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:57,643 INFO L290 TraceCheckUtils]: 0: Hoare triple {1621#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); {1621#true} is VALID [2022-02-20 17:29:57,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {1621#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; {1621#true} is VALID [2022-02-20 17:29:57,644 INFO L272 TraceCheckUtils]: 2: Hoare triple {1621#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,644 INFO L290 TraceCheckUtils]: 3: Hoare triple {1621#true} ~cond := #in~cond; {1635#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:57,644 INFO L290 TraceCheckUtils]: 4: Hoare triple {1635#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1639#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:57,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {1639#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1639#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:57,645 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1639#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#true} #78#return; {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:57,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:57,645 INFO L272 TraceCheckUtils]: 8: Hoare triple {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,645 INFO L290 TraceCheckUtils]: 9: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,645 INFO L290 TraceCheckUtils]: 10: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,646 INFO L290 TraceCheckUtils]: 11: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,646 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1621#true} {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} #80#return; {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:29:57,647 INFO L272 TraceCheckUtils]: 13: Hoare triple {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {1621#true} ~cond := #in~cond; {1635#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:57,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {1635#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1639#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:57,648 INFO L290 TraceCheckUtils]: 16: Hoare triple {1639#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1639#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:57,649 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1639#(not (= |assume_abort_if_not_#in~cond| 0))} {1646#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} #82#return; {1680#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1))} is VALID [2022-02-20 17:29:57,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {1680#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1))} 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; {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} is VALID [2022-02-20 17:29:57,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} assume !false; {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} is VALID [2022-02-20 17:29:57,652 INFO L272 TraceCheckUtils]: 20: Hoare triple {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,653 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1621#true} {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} #84#return; {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} is VALID [2022-02-20 17:29:57,653 INFO L272 TraceCheckUtils]: 25: Hoare triple {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,653 INFO L290 TraceCheckUtils]: 28: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,654 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1621#true} {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} #86#return; {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} is VALID [2022-02-20 17:29:57,654 INFO L272 TraceCheckUtils]: 30: Hoare triple {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:57,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,654 INFO L290 TraceCheckUtils]: 32: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,654 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1621#true} {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} #88#return; {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 1)))} is VALID [2022-02-20 17:29:57,655 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#(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)) (< 0 (+ (div (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) 4294967296) 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; {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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:57,656 INFO L290 TraceCheckUtils]: 36: Hoare triple {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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; {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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:57,656 INFO L272 TraceCheckUtils]: 37: Hoare triple {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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)); {1621#true} is VALID [2022-02-20 17:29:57,656 INFO L290 TraceCheckUtils]: 38: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,656 INFO L290 TraceCheckUtils]: 40: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,657 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1621#true} {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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; {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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:57,657 INFO L272 TraceCheckUtils]: 42: Hoare triple {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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)); {1621#true} is VALID [2022-02-20 17:29:57,657 INFO L290 TraceCheckUtils]: 43: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:57,657 INFO L290 TraceCheckUtils]: 44: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:57,657 INFO L290 TraceCheckUtils]: 45: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:57,657 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1621#true} {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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; {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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:57,658 INFO L272 TraceCheckUtils]: 47: Hoare triple {1736#(and (< 0 (+ (div (+ (* (- 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 1) 4294967296) 1)) (<= 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)); {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:57,658 INFO L290 TraceCheckUtils]: 48: Hoare triple {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:57,659 INFO L290 TraceCheckUtils]: 49: Hoare triple {1777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1622#false} is VALID [2022-02-20 17:29:57,659 INFO L290 TraceCheckUtils]: 50: Hoare triple {1622#false} assume !false; {1622#false} is VALID [2022-02-20 17:29:57,659 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 17:29:57,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:58,132 INFO L290 TraceCheckUtils]: 50: Hoare triple {1622#false} assume !false; {1622#false} is VALID [2022-02-20 17:29:58,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {1777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1622#false} is VALID [2022-02-20 17:29:58,133 INFO L290 TraceCheckUtils]: 48: Hoare triple {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:58,134 INFO L272 TraceCheckUtils]: 47: Hoare triple {1793#(= (* |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)); {1773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:58,134 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1621#true} {1793#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #86#return; {1793#(= (* |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:58,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L290 TraceCheckUtils]: 44: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L290 TraceCheckUtils]: 43: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L272 TraceCheckUtils]: 42: Hoare triple {1793#(= (* |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)); {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1621#true} {1793#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #84#return; {1793#(= (* |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:58,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,135 INFO L290 TraceCheckUtils]: 38: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,136 INFO L272 TraceCheckUtils]: 37: Hoare triple {1793#(= (* |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)); {1621#true} is VALID [2022-02-20 17:29:58,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {1793#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1793#(= (* |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:58,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~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; {1793#(= (* |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:58,262 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1621#true} {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} #88#return; {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:29:58,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,262 INFO L272 TraceCheckUtils]: 30: Hoare triple {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |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)); {1621#true} is VALID [2022-02-20 17:29:58,263 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1621#true} {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} #86#return; {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:29:58,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,263 INFO L272 TraceCheckUtils]: 25: Hoare triple {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |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)); {1621#true} is VALID [2022-02-20 17:29:58,264 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1621#true} {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} #84#return; {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:29:58,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,264 INFO L272 TraceCheckUtils]: 20: Hoare triple {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |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)); {1621#true} is VALID [2022-02-20 17:29:58,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} assume !false; {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:29:58,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {1621#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; {1830#(or (= (* 2 |ULTIMATE.start_main_~d~0#1|) (* (* 2 |ULTIMATE.start_main_~p~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:29:58,265 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1621#true} {1621#true} #82#return; {1621#true} is VALID [2022-02-20 17:29:58,265 INFO L290 TraceCheckUtils]: 16: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L272 TraceCheckUtils]: 13: Hoare triple {1621#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1621#true} {1621#true} #80#return; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 10: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L272 TraceCheckUtils]: 8: Hoare triple {1621#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {1621#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1621#true} {1621#true} #78#return; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {1621#true} assume true; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {1621#true} assume !(0 == ~cond); {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {1621#true} ~cond := #in~cond; {1621#true} is VALID [2022-02-20 17:29:58,266 INFO L272 TraceCheckUtils]: 2: Hoare triple {1621#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {1621#true} is VALID [2022-02-20 17:29:58,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {1621#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; {1621#true} is VALID [2022-02-20 17:29:58,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {1621#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); {1621#true} is VALID [2022-02-20 17:29:58,267 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:29:58,267 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:58,267 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1886120530] [2022-02-20 17:29:58,267 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:58,267 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1309911068] [2022-02-20 17:29:58,267 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1309911068] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:58,267 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:58,267 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [10] total 12 [2022-02-20 17:29:58,267 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1622617049] [2022-02-20 17:29:58,268 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:58,268 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:29:58,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:58,268 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:29:58,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:58,294 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:29:58,294 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:58,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:29:58,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:29:58,295 INFO L87 Difference]: Start difference. First operand 60 states and 76 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:29:58,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,899 INFO L93 Difference]: Finished difference Result 78 states and 101 transitions. [2022-02-20 17:29:58,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:58,899 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:29:58,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:58,899 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:29:58,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-02-20 17:29:58,900 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:29:58,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-02-20 17:29:58,901 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-02-20 17:29:58,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:58,951 INFO L225 Difference]: With dead ends: 78 [2022-02-20 17:29:58,951 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 17:29:58,951 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:29:58,951 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 13 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:58,952 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 135 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:29:58,952 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 17:29:58,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 67. [2022-02-20 17:29:58,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:58,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 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:58,980 INFO L74 IsIncluded]: Start isIncluded. First operand 76 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:58,981 INFO L87 Difference]: Start difference. First operand 76 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:58,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,983 INFO L93 Difference]: Finished difference Result 76 states and 99 transitions. [2022-02-20 17:29:58,983 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 99 transitions. [2022-02-20 17:29:58,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:58,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:58,983 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 76 states. [2022-02-20 17:29:58,984 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 76 states. [2022-02-20 17:29:58,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,986 INFO L93 Difference]: Finished difference Result 76 states and 99 transitions. [2022-02-20 17:29:58,986 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 99 transitions. [2022-02-20 17:29:58,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:58,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:58,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:58,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:58,986 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:58,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 84 transitions. [2022-02-20 17:29:58,988 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 84 transitions. Word has length 51 [2022-02-20 17:29:58,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:58,988 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 84 transitions. [2022-02-20 17:29:58,988 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:29:58,988 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 84 transitions. [2022-02-20 17:29:58,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:29:58,989 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:58,989 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:59,011 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:59,204 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:59,205 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:59,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:59,205 INFO L85 PathProgramCache]: Analyzing trace with hash 957489548, now seen corresponding path program 1 times [2022-02-20 17:29:59,205 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:59,205 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [103827562] [2022-02-20 17:29:59,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:59,221 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:59,221 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1212592084] [2022-02-20 17:29:59,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:59,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:59,222 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:59,223 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:59,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:59,253 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:29:59,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:59,263 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:59,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {2298#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); {2298#true} is VALID [2022-02-20 17:29:59,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {2298#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; {2298#true} is VALID [2022-02-20 17:29:59,419 INFO L272 TraceCheckUtils]: 2: Hoare triple {2298#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {2298#true} is VALID [2022-02-20 17:29:59,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,419 INFO L290 TraceCheckUtils]: 4: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2298#true} {2298#true} #78#return; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {2298#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L272 TraceCheckUtils]: 8: Hoare triple {2298#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 10: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2298#true} {2298#true} #80#return; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L272 TraceCheckUtils]: 13: Hoare triple {2298#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L290 TraceCheckUtils]: 16: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,420 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2298#true} {2298#true} #82#return; {2298#true} is VALID [2022-02-20 17:29:59,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {2298#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; {2357#(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:59,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2357#(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:59,421 INFO L272 TraceCheckUtils]: 20: Hoare triple {2357#(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)); {2298#true} is VALID [2022-02-20 17:29:59,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,422 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2298#true} {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2357#(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:59,422 INFO L272 TraceCheckUtils]: 25: Hoare triple {2357#(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)); {2298#true} is VALID [2022-02-20 17:29:59,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,423 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2298#true} {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2357#(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:59,423 INFO L272 TraceCheckUtils]: 30: Hoare triple {2357#(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)); {2298#true} is VALID [2022-02-20 17:29:59,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,423 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2298#true} {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2357#(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:59,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {2357#(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); {2357#(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:59,424 INFO L290 TraceCheckUtils]: 36: Hoare triple {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2357#(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:59,427 INFO L272 TraceCheckUtils]: 37: Hoare triple {2357#(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)); {2298#true} is VALID [2022-02-20 17:29:59,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,427 INFO L290 TraceCheckUtils]: 40: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,428 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2298#true} {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #90#return; {2357#(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:59,429 INFO L272 TraceCheckUtils]: 42: Hoare triple {2357#(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)); {2298#true} is VALID [2022-02-20 17:29:59,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {2298#true} ~cond := #in~cond; {2298#true} is VALID [2022-02-20 17:29:59,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {2298#true} assume !(0 == ~cond); {2298#true} is VALID [2022-02-20 17:29:59,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {2298#true} assume true; {2298#true} is VALID [2022-02-20 17:29:59,433 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2298#true} {2357#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #92#return; {2357#(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:59,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {2357#(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); {2357#(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:59,435 INFO L272 TraceCheckUtils]: 48: Hoare triple {2357#(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)); {2448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:59,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {2448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:59,436 INFO L290 TraceCheckUtils]: 50: Hoare triple {2452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2299#false} is VALID [2022-02-20 17:29:59,436 INFO L290 TraceCheckUtils]: 51: Hoare triple {2299#false} assume !false; {2299#false} is VALID [2022-02-20 17:29:59,436 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:59,436 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:59,437 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:59,437 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [103827562] [2022-02-20 17:29:59,437 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:59,437 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1212592084] [2022-02-20 17:29:59,437 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1212592084] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:59,437 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:59,437 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:59,437 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852578519] [2022-02-20 17:29:59,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:59,438 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:59,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:59,439 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:59,462 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:59,462 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:59,463 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:59,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:59,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:59,464 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:59,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,710 INFO L93 Difference]: Finished difference Result 75 states and 92 transitions. [2022-02-20 17:29:59,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:59,710 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:59,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:59,711 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:59,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:59,712 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:59,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:59,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:29:59,756 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:59,757 INFO L225 Difference]: With dead ends: 75 [2022-02-20 17:29:59,757 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 17:29:59,757 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:59,758 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:59,758 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:59,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 17:29:59,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2022-02-20 17:29:59,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:59,792 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:59,792 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:59,792 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:59,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,794 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:29:59,794 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:29:59,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,794 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:59,795 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:59,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,796 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:29:59,796 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:29:59,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,797 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:59,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:59,797 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:59,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-02-20 17:29:59,799 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 52 [2022-02-20 17:29:59,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:59,799 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-02-20 17:29:59,799 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:59,800 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-02-20 17:29:59,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:29:59,801 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:59,801 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:59,819 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 17:30:00,017 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:30:00,017 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:00,017 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:00,017 INFO L85 PathProgramCache]: Analyzing trace with hash -1754894755, now seen corresponding path program 1 times [2022-02-20 17:30:00,018 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:00,018 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1468973513] [2022-02-20 17:30:00,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:00,041 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:00,048 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [247467014] [2022-02-20 17:30:00,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,048 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:00,048 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:00,057 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:30:00,058 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:30:00,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 17:30:00,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,122 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:06,520 INFO L290 TraceCheckUtils]: 0: Hoare triple {2798#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); {2798#true} is VALID [2022-02-20 17:30:06,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {2798#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; {2798#true} is VALID [2022-02-20 17:30:06,521 INFO L272 TraceCheckUtils]: 2: Hoare triple {2798#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 1 then 1 else 0)); {2798#true} is VALID [2022-02-20 17:30:06,521 INFO L290 TraceCheckUtils]: 3: Hoare triple {2798#true} ~cond := #in~cond; {2812#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:30:06,521 INFO L290 TraceCheckUtils]: 4: Hoare triple {2812#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2816#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:30:06,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {2816#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2816#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:30:06,522 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2816#(not (= |assume_abort_if_not_#in~cond| 0))} {2798#true} #78#return; {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:30:06,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:30:06,523 INFO L272 TraceCheckUtils]: 8: Hoare triple {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 1 then 1 else 0)); {2798#true} is VALID [2022-02-20 17:30:06,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,523 INFO L290 TraceCheckUtils]: 10: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,523 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2798#true} {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} #80#return; {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:30:06,523 INFO L272 TraceCheckUtils]: 13: Hoare triple {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2798#true} is VALID [2022-02-20 17:30:06,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,524 INFO L290 TraceCheckUtils]: 16: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,527 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2798#true} {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} #82#return; {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} is VALID [2022-02-20 17:30:06,528 INFO L290 TraceCheckUtils]: 18: Hoare triple {2823#(<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)} 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; {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,528 INFO L290 TraceCheckUtils]: 19: Hoare triple {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,529 INFO L272 TraceCheckUtils]: 20: Hoare triple {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,529 INFO L290 TraceCheckUtils]: 22: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,529 INFO L290 TraceCheckUtils]: 23: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,530 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2798#true} {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,530 INFO L272 TraceCheckUtils]: 25: Hoare triple {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,530 INFO L290 TraceCheckUtils]: 26: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,530 INFO L290 TraceCheckUtils]: 28: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,530 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2798#true} {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,531 INFO L272 TraceCheckUtils]: 30: Hoare triple {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,531 INFO L290 TraceCheckUtils]: 31: Hoare triple {2798#true} ~cond := #in~cond; {2900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:06,531 INFO L290 TraceCheckUtils]: 32: Hoare triple {2900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:06,532 INFO L290 TraceCheckUtils]: 33: Hoare triple {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:06,532 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {2860#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,534 INFO L272 TraceCheckUtils]: 37: Hoare triple {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,534 INFO L290 TraceCheckUtils]: 38: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,534 INFO L290 TraceCheckUtils]: 39: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,534 INFO L290 TraceCheckUtils]: 40: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,535 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2798#true} {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,535 INFO L272 TraceCheckUtils]: 42: Hoare triple {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,535 INFO L290 TraceCheckUtils]: 43: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,536 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2798#true} {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,536 INFO L272 TraceCheckUtils]: 47: Hoare triple {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,537 INFO L290 TraceCheckUtils]: 49: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,537 INFO L290 TraceCheckUtils]: 50: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,537 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2798#true} {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,538 INFO L290 TraceCheckUtils]: 52: Hoare triple {2914#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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); {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,539 INFO L272 TraceCheckUtils]: 54: Hoare triple {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,539 INFO L290 TraceCheckUtils]: 55: Hoare triple {2798#true} ~cond := #in~cond; {2798#true} is VALID [2022-02-20 17:30:06,539 INFO L290 TraceCheckUtils]: 56: Hoare triple {2798#true} assume !(0 == ~cond); {2798#true} is VALID [2022-02-20 17:30:06,539 INFO L290 TraceCheckUtils]: 57: Hoare triple {2798#true} assume true; {2798#true} is VALID [2022-02-20 17:30:06,540 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2798#true} {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,540 INFO L272 TraceCheckUtils]: 59: Hoare triple {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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)); {2798#true} is VALID [2022-02-20 17:30:06,540 INFO L290 TraceCheckUtils]: 60: Hoare triple {2798#true} ~cond := #in~cond; {2900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:06,540 INFO L290 TraceCheckUtils]: 61: Hoare triple {2900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:06,541 INFO L290 TraceCheckUtils]: 62: Hoare triple {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:06,541 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2904#(not (= |__VERIFIER_assert_#in~cond| 0))} {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,543 INFO L290 TraceCheckUtils]: 64: Hoare triple {2966#(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|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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); {3003#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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:06,544 INFO L290 TraceCheckUtils]: 65: Hoare triple {3003#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 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; {3007#(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))) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (<= 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:06,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {3007#(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))) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (<= 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; {3007#(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))) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (<= 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:06,545 INFO L272 TraceCheckUtils]: 67: Hoare triple {3007#(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))) (<= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1) (<= 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:06,546 INFO L290 TraceCheckUtils]: 68: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:06,546 INFO L290 TraceCheckUtils]: 69: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2799#false} is VALID [2022-02-20 17:30:06,546 INFO L290 TraceCheckUtils]: 70: Hoare triple {2799#false} assume !false; {2799#false} is VALID [2022-02-20 17:30:06,546 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 38 proven. 27 refuted. 0 times theorem prover too weak. 82 trivial. 0 not checked. [2022-02-20 17:30:06,547 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:44,704 WARN L228 SmtUtils]: Spent 17.26s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)