./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/lcm2_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/lcm2_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 75b979445b16a7d0cbf48464bf7b748fed9f6cd2ca88a888f2b108d83230a494 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:36:26,766 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:36:26,773 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:36:26,805 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:36:26,807 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:36:26,808 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:36:26,809 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:36:26,810 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:36:26,812 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:36:26,813 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:36:26,814 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:36:26,815 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:36:26,815 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:36:26,816 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:36:26,817 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:36:26,818 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:36:26,819 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:36:26,819 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:36:26,821 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:36:26,823 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:36:26,824 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:36:26,825 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:36:26,826 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:36:26,827 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:36:26,830 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:36:26,830 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:36:26,830 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:36:26,831 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:36:26,832 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:36:26,832 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:36:26,833 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:36:26,834 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:36:26,834 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:36:26,835 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:36:26,836 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:36:26,836 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:36:26,837 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:36:26,837 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:36:26,837 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:36:26,838 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:36:26,839 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:36:26,840 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:36:26,858 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:36:26,858 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:36:26,859 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:36:26,859 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:36:26,860 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:36:26,860 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:36:26,861 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:36:26,861 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:36:26,861 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:36:26,862 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:36:26,862 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:36:26,862 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:36:26,862 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:36:26,863 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:36:26,863 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:36:26,863 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:36:26,864 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:36:26,864 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:36:26,864 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:36:26,864 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:36:26,865 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:36:26,865 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:36:26,865 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:36:26,865 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:36:26,866 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:36:26,866 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:36:26,866 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:36:26,866 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:36:26,867 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:36:26,867 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:36:26,867 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:36:26,867 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:36:26,867 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:36:26,868 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 -> 75b979445b16a7d0cbf48464bf7b748fed9f6cd2ca88a888f2b108d83230a494 [2022-02-20 17:36:27,058 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:36:27,087 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:36:27,089 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:36:27,090 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:36:27,091 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:36:27,092 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/lcm2_valuebound1.c [2022-02-20 17:36:27,151 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7f115aa0/0a119d32d5664e98963491af0d857507/FLAGf863cb15e [2022-02-20 17:36:27,501 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:36:27,501 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/lcm2_valuebound1.c [2022-02-20 17:36:27,506 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7f115aa0/0a119d32d5664e98963491af0d857507/FLAGf863cb15e [2022-02-20 17:36:27,931 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7f115aa0/0a119d32d5664e98963491af0d857507 [2022-02-20 17:36:27,933 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:36:27,934 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:36:27,936 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:36:27,936 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:36:27,939 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:36:27,940 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:36:27" (1/1) ... [2022-02-20 17:36:27,941 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@532561a1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:27, skipping insertion in model container [2022-02-20 17:36:27,942 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:36:27" (1/1) ... [2022-02-20 17:36:27,947 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:36:27,959 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:36:28,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/lcm2_valuebound1.c[537,550] [2022-02-20 17:36:28,141 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:36:28,149 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:36:28,162 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/lcm2_valuebound1.c[537,550] [2022-02-20 17:36:28,177 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:36:28,191 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:36:28,192 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28 WrapperNode [2022-02-20 17:36:28,192 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:36:28,193 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:36:28,193 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:36:28,193 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:36:28,199 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:36:28" (1/1) ... [2022-02-20 17:36:28,206 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:36:28" (1/1) ... [2022-02-20 17:36:28,239 INFO L137 Inliner]: procedures = 14, calls = 22, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-02-20 17:36:28,239 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:36:28,240 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:36:28,240 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:36:28,240 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:36:28,247 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,248 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,257 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,258 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,261 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,264 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,269 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,270 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:36:28,270 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:36:28,270 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:36:28,270 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:36:28,273 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (1/1) ... [2022-02-20 17:36:28,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:36:28,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:36:28,308 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:36:28,331 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:36:28,357 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:36:28,357 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:36:28,357 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:36:28,357 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:36:28,358 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:36:28,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:36:28,358 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:36:28,359 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:36:28,402 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:36:28,404 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:36:28,510 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:36:28,516 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:36:28,516 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:36:28,517 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:36:28 BoogieIcfgContainer [2022-02-20 17:36:28,518 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:36:28,519 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:36:28,519 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:36:28,522 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:36:28,522 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:36:27" (1/3) ... [2022-02-20 17:36:28,523 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1194ed4f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:36:28, skipping insertion in model container [2022-02-20 17:36:28,523 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:36:28" (2/3) ... [2022-02-20 17:36:28,523 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1194ed4f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:36:28, skipping insertion in model container [2022-02-20 17:36:28,523 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:36:28" (3/3) ... [2022-02-20 17:36:28,524 INFO L111 eAbstractionObserver]: Analyzing ICFG lcm2_valuebound1.c [2022-02-20 17:36:28,528 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:36:28,529 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:36:28,564 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:36:28,569 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:36:28,569 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:36:28,584 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:28,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:36:28,589 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:36:28,590 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 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:36:28,590 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:36:28,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:36:28,595 INFO L85 PathProgramCache]: Analyzing trace with hash 902207739, now seen corresponding path program 1 times [2022-02-20 17:36:28,602 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:36:28,602 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90107602] [2022-02-20 17:36:28,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:28,603 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:36:28,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,805 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:36:28,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {32#true} #60#return; {33#false} is VALID [2022-02-20 17:36:28,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:36:28,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {33#false} #62#return; {33#false} is VALID [2022-02-20 17:36:28,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:36:28,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {33#false} #64#return; {33#false} is VALID [2022-02-20 17:36:28,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:36:28,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,888 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {33#false} #66#return; {33#false} is VALID [2022-02-20 17:36:28,891 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 17:36:28,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {33#false} #68#return; {33#false} is VALID [2022-02-20 17:36:28,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-20 17:36:28,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:28,919 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {33#false} #70#return; {33#false} is VALID [2022-02-20 17:36:28,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-02-20 17:36:28,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {32#true} is VALID [2022-02-20 17:36:28,922 INFO L272 TraceCheckUtils]: 2: Hoare triple {32#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,923 INFO L290 TraceCheckUtils]: 3: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,924 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {33#false} {32#true} #60#return; {33#false} is VALID [2022-02-20 17:36:28,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#false} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {33#false} is VALID [2022-02-20 17:36:28,925 INFO L272 TraceCheckUtils]: 8: Hoare triple {33#false} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 0 && main_~b~0#1 % 4294967296 <= 1 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,926 INFO L290 TraceCheckUtils]: 10: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,927 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {33#false} {33#false} #62#return; {33#false} is VALID [2022-02-20 17:36:28,927 INFO L272 TraceCheckUtils]: 13: Hoare triple {33#false} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,929 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {33#false} {33#false} #64#return; {33#false} is VALID [2022-02-20 17:36:28,930 INFO L272 TraceCheckUtils]: 18: Hoare triple {33#false} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 1 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,932 INFO L290 TraceCheckUtils]: 21: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,933 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {33#false} {33#false} #66#return; {33#false} is VALID [2022-02-20 17:36:28,933 INFO L272 TraceCheckUtils]: 23: Hoare triple {33#false} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,936 INFO L290 TraceCheckUtils]: 24: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,937 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {33#false} {33#false} #68#return; {33#false} is VALID [2022-02-20 17:36:28,937 INFO L272 TraceCheckUtils]: 28: Hoare triple {33#false} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {32#true} is VALID [2022-02-20 17:36:28,938 INFO L290 TraceCheckUtils]: 29: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-02-20 17:36:28,939 INFO L290 TraceCheckUtils]: 30: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-02-20 17:36:28,939 INFO L290 TraceCheckUtils]: 31: Hoare triple {33#false} assume true; {33#false} is VALID [2022-02-20 17:36:28,939 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {33#false} {33#false} #70#return; {33#false} is VALID [2022-02-20 17:36:28,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {33#false} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {33#false} is VALID [2022-02-20 17:36:28,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {33#false} assume !true; {33#false} is VALID [2022-02-20 17:36:28,942 INFO L272 TraceCheckUtils]: 35: Hoare triple {33#false} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {33#false} is VALID [2022-02-20 17:36:28,942 INFO L290 TraceCheckUtils]: 36: Hoare triple {33#false} ~cond := #in~cond; {33#false} is VALID [2022-02-20 17:36:28,943 INFO L290 TraceCheckUtils]: 37: Hoare triple {33#false} assume 0 == ~cond; {33#false} is VALID [2022-02-20 17:36:28,944 INFO L290 TraceCheckUtils]: 38: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-02-20 17:36:28,945 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 17:36:28,947 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:36:28,949 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90107602] [2022-02-20 17:36:28,950 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [90107602] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:36:28,950 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:36:28,950 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:36:28,952 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664488115] [2022-02-20 17:36:28,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:36:28,958 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:36:28,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:36:28,969 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:36:29,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:29,024 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:36:29,025 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:36:29,047 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:36:29,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:36:29,051 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:36:29,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:29,135 INFO L93 Difference]: Finished difference Result 55 states and 84 transitions. [2022-02-20 17:36:29,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:36:29,135 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:36:29,136 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:36:29,137 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:36:29,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 84 transitions. [2022-02-20 17:36:29,154 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:36:29,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 84 transitions. [2022-02-20 17:36:29,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 84 transitions. [2022-02-20 17:36:29,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:29,273 INFO L225 Difference]: With dead ends: 55 [2022-02-20 17:36:29,273 INFO L226 Difference]: Without dead ends: 25 [2022-02-20 17:36:29,276 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 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:36:29,279 INFO L933 BasicCegarLoop]: 36 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, 36 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:36:29,280 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:36:29,293 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-02-20 17:36:29,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-02-20 17:36:29,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:36:29,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:36:29,310 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:36:29,311 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:36:29,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:29,314 INFO L93 Difference]: Finished difference Result 25 states and 32 transitions. [2022-02-20 17:36:29,314 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 17:36:29,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:29,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:29,316 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 25 states. [2022-02-20 17:36:29,316 INFO L87 Difference]: Start difference. First operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 25 states. [2022-02-20 17:36:29,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:29,319 INFO L93 Difference]: Finished difference Result 25 states and 32 transitions. [2022-02-20 17:36:29,319 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 17:36:29,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:29,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:29,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:36:29,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:36:29,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 8 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:36:29,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 32 transitions. [2022-02-20 17:36:29,324 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 32 transitions. Word has length 39 [2022-02-20 17:36:29,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:36:29,324 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 32 transitions. [2022-02-20 17:36:29,325 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:36:29,325 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 32 transitions. [2022-02-20 17:36:29,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:36:29,326 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:36:29,326 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 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:36:29,326 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:36:29,326 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:36:29,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:36:29,327 INFO L85 PathProgramCache]: Analyzing trace with hash -722599373, now seen corresponding path program 1 times [2022-02-20 17:36:29,327 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:36:29,328 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1538466321] [2022-02-20 17:36:29,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:29,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:36:29,353 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:36:29,354 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1166257351] [2022-02-20 17:36:29,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:29,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:36:29,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:36:29,359 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:36:29,401 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:36:29,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:29,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 17:36:29,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:29,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:36:29,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {224#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {224#true} is VALID [2022-02-20 17:36:29,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {224#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {224#true} is VALID [2022-02-20 17:36:29,866 INFO L272 TraceCheckUtils]: 2: Hoare triple {224#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,867 INFO L290 TraceCheckUtils]: 3: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,867 INFO L290 TraceCheckUtils]: 4: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,867 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {224#true} {224#true} #60#return; {224#true} is VALID [2022-02-20 17:36:29,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {224#true} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {224#true} is VALID [2022-02-20 17:36:29,868 INFO L272 TraceCheckUtils]: 8: Hoare triple {224#true} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 0 && main_~b~0#1 % 4294967296 <= 1 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,868 INFO L290 TraceCheckUtils]: 10: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,868 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {224#true} {224#true} #62#return; {224#true} is VALID [2022-02-20 17:36:29,869 INFO L272 TraceCheckUtils]: 13: Hoare triple {224#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,869 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {224#true} {224#true} #64#return; {224#true} is VALID [2022-02-20 17:36:29,870 INFO L272 TraceCheckUtils]: 18: Hoare triple {224#true} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 1 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,870 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {224#true} {224#true} #66#return; {224#true} is VALID [2022-02-20 17:36:29,871 INFO L272 TraceCheckUtils]: 23: Hoare triple {224#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,871 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {224#true} {224#true} #68#return; {224#true} is VALID [2022-02-20 17:36:29,872 INFO L272 TraceCheckUtils]: 28: Hoare triple {224#true} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {224#true} is VALID [2022-02-20 17:36:29,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-02-20 17:36:29,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-02-20 17:36:29,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {224#true} assume true; {224#true} is VALID [2022-02-20 17:36:29,872 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {224#true} {224#true} #70#return; {224#true} is VALID [2022-02-20 17:36:29,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {224#true} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {328#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:36:29,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {328#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {328#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:36:29,875 INFO L272 TraceCheckUtils]: 35: Hoare triple {328#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:36:29,875 INFO L290 TraceCheckUtils]: 36: Hoare triple {335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:36:29,876 INFO L290 TraceCheckUtils]: 37: Hoare triple {339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {225#false} is VALID [2022-02-20 17:36:29,876 INFO L290 TraceCheckUtils]: 38: Hoare triple {225#false} assume !false; {225#false} is VALID [2022-02-20 17:36:29,876 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 17:36:29,877 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:36:29,877 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:36:29,877 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1538466321] [2022-02-20 17:36:29,877 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:36:29,877 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1166257351] [2022-02-20 17:36:29,878 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1166257351] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:36:29,878 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:36:29,878 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:36:29,879 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [97822773] [2022-02-20 17:36:29,879 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:36:29,880 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-02-20 17:36:29,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:36:29,880 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:36:29,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:29,906 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:36:29,906 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:36:29,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:36:29,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:36:29,907 INFO L87 Difference]: Start difference. First operand 25 states and 32 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:36:30,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:30,092 INFO L93 Difference]: Finished difference Result 36 states and 45 transitions. [2022-02-20 17:36:30,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:36:30,092 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-02-20 17:36:30,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:36:30,095 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:36:30,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-02-20 17:36:30,097 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:36:30,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-02-20 17:36:30,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-02-20 17:36:30,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:30,154 INFO L225 Difference]: With dead ends: 36 [2022-02-20 17:36:30,154 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 17:36:30,155 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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:36:30,156 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 7 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 99 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.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:36:30,156 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 99 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:36:30,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 17:36:30,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-02-20 17:36:30,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:36:30,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:30,163 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:30,163 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:30,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:30,166 INFO L93 Difference]: Finished difference Result 33 states and 41 transitions. [2022-02-20 17:36:30,166 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 41 transitions. [2022-02-20 17:36:30,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:30,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:30,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-02-20 17:36:30,167 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-02-20 17:36:30,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:30,170 INFO L93 Difference]: Finished difference Result 33 states and 41 transitions. [2022-02-20 17:36:30,170 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 41 transitions. [2022-02-20 17:36:30,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:30,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:30,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:36:30,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:36:30,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:30,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 39 transitions. [2022-02-20 17:36:30,174 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 39 transitions. Word has length 39 [2022-02-20 17:36:30,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:36:30,174 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 39 transitions. [2022-02-20 17:36:30,174 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-02-20 17:36:30,174 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-02-20 17:36:30,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:36:30,175 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:36:30,176 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:36:30,203 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:36:30,402 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:36:30,403 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:36:30,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:36:30,404 INFO L85 PathProgramCache]: Analyzing trace with hash 1459116230, now seen corresponding path program 1 times [2022-02-20 17:36:30,404 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:36:30,404 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [155070569] [2022-02-20 17:36:30,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:30,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:36:30,432 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:36:30,433 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1319792680] [2022-02-20 17:36:30,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:30,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:36:30,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:36:30,434 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:36:30,444 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:36:30,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:30,479 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 17:36:30,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:30,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:36:33,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {510#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {510#true} is VALID [2022-02-20 17:36:33,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {510#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {510#true} is VALID [2022-02-20 17:36:33,491 INFO L272 TraceCheckUtils]: 2: Hoare triple {510#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:33,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {510#true} ~cond := #in~cond; {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:36:33,492 INFO L290 TraceCheckUtils]: 4: Hoare triple {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {528#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,493 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {528#(not (= |assume_abort_if_not_#in~cond| 0))} {510#true} #60#return; {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:33,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:33,494 INFO L272 TraceCheckUtils]: 8: Hoare triple {535#(<= (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)); {510#true} is VALID [2022-02-20 17:36:33,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:33,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:33,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:33,495 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {510#true} {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} #62#return; {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:33,495 INFO L272 TraceCheckUtils]: 13: Hoare triple {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:33,496 INFO L290 TraceCheckUtils]: 14: Hoare triple {510#true} ~cond := #in~cond; {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:36:33,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {528#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,498 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {528#(not (= |assume_abort_if_not_#in~cond| 0))} {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} #64#return; {569#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:33,498 INFO L272 TraceCheckUtils]: 18: Hoare triple {569#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= (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)); {510#true} is VALID [2022-02-20 17:36:33,501 INFO L290 TraceCheckUtils]: 19: Hoare triple {510#true} ~cond := #in~cond; {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:36:33,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {524#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,511 INFO L290 TraceCheckUtils]: 21: Hoare triple {528#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:33,516 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {528#(not (= |assume_abort_if_not_#in~cond| 0))} {569#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} #66#return; {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:33,516 INFO L272 TraceCheckUtils]: 23: Hoare triple {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:33,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:33,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:33,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:33,518 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {510#true} {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} #68#return; {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:33,519 INFO L272 TraceCheckUtils]: 28: Hoare triple {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:33,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:33,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:33,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:33,520 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {510#true} {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} #70#return; {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:33,521 INFO L290 TraceCheckUtils]: 33: Hoare triple {585#(and (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:33,521 INFO L290 TraceCheckUtils]: 34: Hoare triple {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !false; {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:33,521 INFO L272 TraceCheckUtils]: 35: Hoare triple {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:33,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:33,522 INFO L290 TraceCheckUtils]: 37: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:33,522 INFO L290 TraceCheckUtils]: 38: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:33,522 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {510#true} {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} #72#return; {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:33,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !!(main_~x~0#1 % 4294967296 != main_~y~0#1 % 4294967296); {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:33,524 INFO L290 TraceCheckUtils]: 41: Hoare triple {619#(and (<= 1 (mod |ULTIMATE.start_main_~y~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~x~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume main_~x~0#1 % 4294967296 > main_~y~0#1 % 4294967296;main_~x~0#1 := main_~x~0#1 - main_~y~0#1;main_~v~0#1 := main_~v~0#1 + main_~u~0#1; {511#false} is VALID [2022-02-20 17:36:33,526 INFO L290 TraceCheckUtils]: 42: Hoare triple {511#false} assume !false; {511#false} is VALID [2022-02-20 17:36:33,526 INFO L272 TraceCheckUtils]: 43: Hoare triple {511#false} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {511#false} is VALID [2022-02-20 17:36:33,526 INFO L290 TraceCheckUtils]: 44: Hoare triple {511#false} ~cond := #in~cond; {511#false} is VALID [2022-02-20 17:36:33,527 INFO L290 TraceCheckUtils]: 45: Hoare triple {511#false} assume 0 == ~cond; {511#false} is VALID [2022-02-20 17:36:33,527 INFO L290 TraceCheckUtils]: 46: Hoare triple {511#false} assume !false; {511#false} is VALID [2022-02-20 17:36:33,527 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 21 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-02-20 17:36:33,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:36:34,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {511#false} assume !false; {511#false} is VALID [2022-02-20 17:36:34,920 INFO L290 TraceCheckUtils]: 45: Hoare triple {511#false} assume 0 == ~cond; {511#false} is VALID [2022-02-20 17:36:34,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {511#false} ~cond := #in~cond; {511#false} is VALID [2022-02-20 17:36:34,920 INFO L272 TraceCheckUtils]: 43: Hoare triple {511#false} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {511#false} is VALID [2022-02-20 17:36:34,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {511#false} assume !false; {511#false} is VALID [2022-02-20 17:36:34,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume main_~x~0#1 % 4294967296 > main_~y~0#1 % 4294967296;main_~x~0#1 := main_~x~0#1 - main_~y~0#1;main_~v~0#1 := main_~v~0#1 + main_~u~0#1; {511#false} is VALID [2022-02-20 17:36:34,921 INFO L290 TraceCheckUtils]: 40: Hoare triple {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !!(main_~x~0#1 % 4294967296 != main_~y~0#1 % 4294967296); {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,921 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {510#true} {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} #72#return; {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,922 INFO L290 TraceCheckUtils]: 38: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:34,922 INFO L290 TraceCheckUtils]: 37: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:34,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:34,922 INFO L272 TraceCheckUtils]: 35: Hoare triple {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:34,922 INFO L290 TraceCheckUtils]: 34: Hoare triple {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !false; {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {674#(not (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,923 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {510#true} {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #70#return; {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:34,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:34,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:34,924 INFO L272 TraceCheckUtils]: 28: Hoare triple {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:34,924 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {510#true} {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #68#return; {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:34,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:34,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:34,925 INFO L272 TraceCheckUtils]: 23: Hoare triple {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:34,926 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {528#(not (= |assume_abort_if_not_#in~cond| 0))} {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} #66#return; {699#(not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:34,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {528#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:34,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {743#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:34,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {510#true} ~cond := #in~cond; {743#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:36:34,928 INFO L272 TraceCheckUtils]: 18: Hoare triple {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (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)); {510#true} is VALID [2022-02-20 17:36:34,928 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {510#true} {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} #64#return; {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:34,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:34,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:34,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:34,929 INFO L272 TraceCheckUtils]: 13: Hoare triple {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:34,929 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {510#true} {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} #62#return; {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:34,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {510#true} assume true; {510#true} is VALID [2022-02-20 17:36:34,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {510#true} assume !(0 == ~cond); {510#true} is VALID [2022-02-20 17:36:34,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {510#true} ~cond := #in~cond; {510#true} is VALID [2022-02-20 17:36:34,930 INFO L272 TraceCheckUtils]: 8: Hoare triple {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~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)); {510#true} is VALID [2022-02-20 17:36:34,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {733#(or (not (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1))} is VALID [2022-02-20 17:36:34,932 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {528#(not (= |assume_abort_if_not_#in~cond| 0))} {510#true} #60#return; {535#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:34,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {528#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:34,933 INFO L290 TraceCheckUtils]: 4: Hoare triple {743#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {528#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:34,933 INFO L290 TraceCheckUtils]: 3: Hoare triple {510#true} ~cond := #in~cond; {743#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:36:34,933 INFO L272 TraceCheckUtils]: 2: Hoare triple {510#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {510#true} is VALID [2022-02-20 17:36:34,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {510#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {510#true} is VALID [2022-02-20 17:36:34,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {510#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {510#true} is VALID [2022-02-20 17:36:34,934 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:36:34,934 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:36:34,934 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [155070569] [2022-02-20 17:36:34,935 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:36:34,936 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1319792680] [2022-02-20 17:36:34,936 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1319792680] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:36:34,937 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:36:34,937 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-02-20 17:36:34,937 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [181931602] [2022-02-20 17:36:34,937 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:36:34,938 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) Word has length 47 [2022-02-20 17:36:34,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:36:34,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 17:36:35,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:35,000 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 17:36:35,000 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:36:35,000 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 17:36:35,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:36:35,001 INFO L87 Difference]: Start difference. First operand 32 states and 39 transitions. Second operand has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 17:36:35,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:35,430 INFO L93 Difference]: Finished difference Result 46 states and 56 transitions. [2022-02-20 17:36:35,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:36:35,431 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) Word has length 47 [2022-02-20 17:36:35,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:36:35,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 17:36:35,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-02-20 17:36:35,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 17:36:35,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-02-20 17:36:35,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-02-20 17:36:35,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:35,501 INFO L225 Difference]: With dead ends: 46 [2022-02-20 17:36:35,501 INFO L226 Difference]: Without dead ends: 35 [2022-02-20 17:36:35,502 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2022-02-20 17:36:35,503 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 29 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:36:35,503 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 122 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:36:35,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-02-20 17:36:35,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-02-20 17:36:35,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:36:35,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:35,524 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:35,525 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:35,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:35,529 INFO L93 Difference]: Finished difference Result 35 states and 42 transitions. [2022-02-20 17:36:35,529 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-02-20 17:36:35,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:35,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:35,533 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 35 states. [2022-02-20 17:36:35,533 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 35 states. [2022-02-20 17:36:35,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:35,543 INFO L93 Difference]: Finished difference Result 35 states and 42 transitions. [2022-02-20 17:36:35,543 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-02-20 17:36:35,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:35,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:35,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:36:35,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:36:35,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:36:35,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 40 transitions. [2022-02-20 17:36:35,549 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 40 transitions. Word has length 47 [2022-02-20 17:36:35,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:36:35,550 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 40 transitions. [2022-02-20 17:36:35,550 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 9 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 7 states have call predecessors, (13), 8 states have call successors, (13) [2022-02-20 17:36:35,550 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 40 transitions. [2022-02-20 17:36:35,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:36:35,551 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:36:35,551 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:36:35,568 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 17:36:35,755 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-02-20 17:36:35,755 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:36:35,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:36:35,756 INFO L85 PathProgramCache]: Analyzing trace with hash 1516374532, now seen corresponding path program 1 times [2022-02-20 17:36:35,756 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:36:35,756 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665749669] [2022-02-20 17:36:35,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:35,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:36:35,779 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:36:35,779 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1762714414] [2022-02-20 17:36:35,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:36:35,780 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:36:35,780 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:36:35,781 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:36:35,810 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:36:35,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:35,829 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 17:36:35,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:36:35,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:36:38,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {988#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {988#true} is VALID [2022-02-20 17:36:38,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {988#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {988#true} is VALID [2022-02-20 17:36:38,109 INFO L272 TraceCheckUtils]: 2: Hoare triple {988#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,109 INFO L290 TraceCheckUtils]: 3: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:38,109 INFO L290 TraceCheckUtils]: 4: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:38,109 INFO L290 TraceCheckUtils]: 5: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:38,110 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {988#true} {988#true} #60#return; {988#true} is VALID [2022-02-20 17:36:38,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {988#true} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {988#true} is VALID [2022-02-20 17:36:38,110 INFO L272 TraceCheckUtils]: 8: Hoare triple {988#true} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 0 && main_~b~0#1 % 4294967296 <= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {988#true} ~cond := #in~cond; {1020#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:36:38,111 INFO L290 TraceCheckUtils]: 10: Hoare triple {1020#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:38,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:38,112 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} {988#true} #62#return; {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:38,112 INFO L272 TraceCheckUtils]: 13: Hoare triple {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {988#true} ~cond := #in~cond; {1020#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:36:38,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {1020#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:38,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:38,114 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} #64#return; {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,115 INFO L272 TraceCheckUtils]: 18: Hoare triple {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:38,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:38,115 INFO L290 TraceCheckUtils]: 21: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:38,116 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {988#true} {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #66#return; {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,116 INFO L272 TraceCheckUtils]: 23: Hoare triple {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:38,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:38,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:38,117 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {988#true} {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #68#return; {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,117 INFO L272 TraceCheckUtils]: 28: Hoare triple {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:38,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:38,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:38,119 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {988#true} {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #70#return; {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {1047#(and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,121 INFO L290 TraceCheckUtils]: 34: Hoare triple {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !false; {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,121 INFO L272 TraceCheckUtils]: 35: Hoare triple {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:38,121 INFO L290 TraceCheckUtils]: 36: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:38,121 INFO L290 TraceCheckUtils]: 37: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:38,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:38,122 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {988#true} {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} #72#return; {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,123 INFO L290 TraceCheckUtils]: 40: Hoare triple {1096#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !!(main_~x~0#1 % 4294967296 != main_~y~0#1 % 4294967296); {1118#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (not (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296))) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:38,124 INFO L290 TraceCheckUtils]: 41: Hoare triple {1118#(and (<= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) 1) (not (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296))) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !(main_~x~0#1 % 4294967296 > main_~y~0#1 % 4294967296);main_~y~0#1 := main_~y~0#1 - main_~x~0#1;main_~u~0#1 := main_~u~0#1 + main_~v~0#1; {989#false} is VALID [2022-02-20 17:36:38,124 INFO L290 TraceCheckUtils]: 42: Hoare triple {989#false} assume !false; {989#false} is VALID [2022-02-20 17:36:38,124 INFO L272 TraceCheckUtils]: 43: Hoare triple {989#false} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {989#false} is VALID [2022-02-20 17:36:38,125 INFO L290 TraceCheckUtils]: 44: Hoare triple {989#false} ~cond := #in~cond; {989#false} is VALID [2022-02-20 17:36:38,125 INFO L290 TraceCheckUtils]: 45: Hoare triple {989#false} assume 0 == ~cond; {989#false} is VALID [2022-02-20 17:36:38,125 INFO L290 TraceCheckUtils]: 46: Hoare triple {989#false} assume !false; {989#false} is VALID [2022-02-20 17:36:38,125 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:36:38,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:36:41,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {989#false} assume !false; {989#false} is VALID [2022-02-20 17:36:41,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {989#false} assume 0 == ~cond; {989#false} is VALID [2022-02-20 17:36:41,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {989#false} ~cond := #in~cond; {989#false} is VALID [2022-02-20 17:36:41,244 INFO L272 TraceCheckUtils]: 43: Hoare triple {989#false} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {989#false} is VALID [2022-02-20 17:36:41,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {989#false} assume !false; {989#false} is VALID [2022-02-20 17:36:41,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {1152#(< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296))} assume !(main_~x~0#1 % 4294967296 > main_~y~0#1 % 4294967296);main_~y~0#1 := main_~y~0#1 - main_~x~0#1;main_~u~0#1 := main_~u~0#1 + main_~v~0#1; {989#false} is VALID [2022-02-20 17:36:41,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !!(main_~x~0#1 % 4294967296 != main_~y~0#1 % 4294967296); {1152#(< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296))} is VALID [2022-02-20 17:36:41,248 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {988#true} {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} #72#return; {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:41,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:41,248 INFO L290 TraceCheckUtils]: 36: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:41,248 INFO L272 TraceCheckUtils]: 35: Hoare triple {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} call __VERIFIER_assert((if (main_~x~0#1 * main_~u~0#1 + main_~y~0#1 * main_~v~0#1) % 4294967296 == 2 * main_~a~0#1 * main_~b~0#1 % 4294967296 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} assume !false; {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} main_~x~0#1 := main_~a~0#1;main_~y~0#1 := main_~b~0#1;main_~u~0#1 := main_~b~0#1;main_~v~0#1 := main_~a~0#1; {1156#(or (< (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~y~0#1| 4294967296) (mod |ULTIMATE.start_main_~x~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,250 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {988#true} {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #70#return; {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:41,251 INFO L290 TraceCheckUtils]: 30: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:41,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:41,251 INFO L272 TraceCheckUtils]: 28: Hoare triple {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 <= 65535 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,252 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {988#true} {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #68#return; {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:41,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:41,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:41,252 INFO L272 TraceCheckUtils]: 23: Hoare triple {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~a~0#1 % 4294967296 <= 65535 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,253 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {988#true} {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} #66#return; {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:41,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:41,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:41,253 INFO L272 TraceCheckUtils]: 18: Hoare triple {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,255 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} #64#return; {1178#(or (= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)) (< (mod |ULTIMATE.start_main_~b~0#1| 4294967296) (mod |ULTIMATE.start_main_~a~0#1| 4294967296)))} is VALID [2022-02-20 17:36:41,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:41,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {1236#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:41,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {988#true} ~cond := #in~cond; {1236#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:36:41,256 INFO L272 TraceCheckUtils]: 13: Hoare triple {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,257 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} {988#true} #62#return; {1031#(<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1)} is VALID [2022-02-20 17:36:41,257 INFO L290 TraceCheckUtils]: 11: Hoare triple {1024#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:41,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {1236#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1024#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:36:41,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {988#true} ~cond := #in~cond; {1236#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 17:36:41,258 INFO L272 TraceCheckUtils]: 8: Hoare triple {988#true} call assume_abort_if_not((if main_~b~0#1 % 4294967296 >= 0 && main_~b~0#1 % 4294967296 <= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {988#true} main_~b~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {988#true} is VALID [2022-02-20 17:36:41,259 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {988#true} {988#true} #60#return; {988#true} is VALID [2022-02-20 17:36:41,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {988#true} assume true; {988#true} is VALID [2022-02-20 17:36:41,259 INFO L290 TraceCheckUtils]: 4: Hoare triple {988#true} assume !(0 == ~cond); {988#true} is VALID [2022-02-20 17:36:41,259 INFO L290 TraceCheckUtils]: 3: Hoare triple {988#true} ~cond := #in~cond; {988#true} is VALID [2022-02-20 17:36:41,259 INFO L272 TraceCheckUtils]: 2: Hoare triple {988#true} call assume_abort_if_not((if main_~a~0#1 % 4294967296 >= 0 && main_~a~0#1 % 4294967296 <= 1 then 1 else 0)); {988#true} is VALID [2022-02-20 17:36:41,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {988#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_~x~0#1, main_~y~0#1, main_~u~0#1, main_~v~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~x~0#1;havoc main_~y~0#1;havoc main_~u~0#1;havoc main_~v~0#1;main_~a~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {988#true} is VALID [2022-02-20 17:36:41,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {988#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {988#true} is VALID [2022-02-20 17:36:41,260 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:36:41,261 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:36:41,262 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [665749669] [2022-02-20 17:36:41,262 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:36:41,262 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1762714414] [2022-02-20 17:36:41,262 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1762714414] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:36:41,262 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:36:41,262 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-02-20 17:36:41,262 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1703308743] [2022-02-20 17:36:41,263 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:36:41,263 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 47 [2022-02-20 17:36:41,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:36:41,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 17:36:41,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:41,307 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 17:36:41,307 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:36:41,307 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 17:36:41,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:36:41,308 INFO L87 Difference]: Start difference. First operand 33 states and 40 transitions. Second operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 17:36:41,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:41,574 INFO L93 Difference]: Finished difference Result 35 states and 42 transitions. [2022-02-20 17:36:41,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:36:41,574 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 47 [2022-02-20 17:36:41,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:36:41,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 17:36:41,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 42 transitions. [2022-02-20 17:36:41,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 17:36:41,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 42 transitions. [2022-02-20 17:36:41,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 42 transitions. [2022-02-20 17:36:41,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:36:41,627 INFO L225 Difference]: With dead ends: 35 [2022-02-20 17:36:41,627 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 17:36:41,628 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-02-20 17:36:41,630 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 12 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:36:41,632 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 81 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:36:41,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 17:36:41,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 17:36:41,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:36:41,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:36:41,635 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:36:41,635 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:36:41,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:41,635 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:36:41,636 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:36:41,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:41,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:41,636 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:36:41,636 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 17:36:41,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:36:41,636 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 17:36:41,637 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:36:41,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:41,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:36:41,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:36:41,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:36:41,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:36:41,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 17:36:41,638 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 47 [2022-02-20 17:36:41,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:36:41,638 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 17:36:41,639 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 17:36:41,639 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 17:36:41,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:36:41,644 INFO L764 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:36:41,671 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:36:41,868 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:36:41,870 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-02-20 17:36:41,979 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-02-20 17:36:41,979 INFO L854 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (.cse1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-02-20 17:36:41,979 INFO L854 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (let ((.cse0 (mod |ULTIMATE.start_main_~b~0#1| 4294967296)) (.cse1 (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-02-20 17:36:41,979 INFO L854 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1) [2022-02-20 17:36:41,979 INFO L854 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1)) [2022-02-20 17:36:41,979 INFO L861 garLoopResultBuilder]: At program point L56(lines 19 57) the Hoare annotation is: true [2022-02-20 17:36:41,979 INFO L861 garLoopResultBuilder]: At program point L23(line 23) the Hoare annotation is: true [2022-02-20 17:36:41,979 INFO L858 garLoopResultBuilder]: For program point L23-1(line 23) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L52(line 52) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L854 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse0 (mod |ULTIMATE.start_main_~b~0#1| 4294967296))) (and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (<= .cse0 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (<= 1 .cse0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))) [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L38-1(lines 37 50) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L-1(line -1) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L30(line 30) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startENTRY(line -1) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L854 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (let ((.cse0 (mod |ULTIMATE.start_main_~a~0#1| 4294967296))) (and (<= (mod |ULTIMATE.start_main_~b~0#1| 4294967296) 1) (<= 1 .cse0) (<= .cse0 1))) [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L43(lines 43 49) no Hoare annotation was computed. [2022-02-20 17:36:41,980 INFO L854 garLoopResultBuilder]: At program point L43-2(lines 37 50) the Hoare annotation is: (let ((.cse0 (mod |ULTIMATE.start_main_~b~0#1| 4294967296))) (and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (<= .cse0 1) (<= 1 (mod |ULTIMATE.start_main_~x~0#1| 4294967296)) (<= 1 .cse0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 1))) [2022-02-20 17:36:41,980 INFO L854 garLoopResultBuilder]: At program point L37-2(lines 37 50) the Hoare annotation is: (and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~u~0#1|) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~v~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|)) [2022-02-20 17:36:41,980 INFO L861 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-02-20 17:36:41,980 INFO L858 garLoopResultBuilder]: For program point L9(line 9) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point L9-2(lines 8 10) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 8 10) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L861 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point L13(lines 13 14) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point L12(lines 12 15) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point L12-2(lines 11 17) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 11 17) no Hoare annotation was computed. [2022-02-20 17:36:41,981 INFO L858 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) no Hoare annotation was computed. [2022-02-20 17:36:41,983 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 17:36:41,984 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 17:36:41,987 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-02-20 17:36:41,987 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-02-20 17:36:41,987 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-02-20 17:36:41,987 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-02-20 17:36:41,987 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L23-1 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L23-1 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 17:36:41,988 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 17:36:41,989 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 17:36:41,999 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 17:36:41,999 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-02-20 17:36:42,006 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 05:36:42 BoogieIcfgContainer [2022-02-20 17:36:42,006 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 17:36:42,007 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 17:36:42,007 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 17:36:42,007 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 17:36:42,007 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:36:28" (3/4) ... [2022-02-20 17:36:42,009 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 17:36:42,013 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure assume_abort_if_not [2022-02-20 17:36:42,013 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __VERIFIER_assert [2022-02-20 17:36:42,015 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 17 nodes and edges [2022-02-20 17:36:42,016 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 6 nodes and edges [2022-02-20 17:36:42,016 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 3 nodes and edges [2022-02-20 17:36:42,016 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 17:36:42,016 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 17:36:42,045 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 17:36:42,045 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 17:36:42,046 INFO L158 Benchmark]: Toolchain (without parser) took 14111.98ms. Allocated memory was 96.5MB in the beginning and 117.4MB in the end (delta: 21.0MB). Free memory was 63.8MB in the beginning and 64.1MB in the end (delta: -238.3kB). Peak memory consumption was 19.7MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,046 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 96.5MB. Free memory was 53.3MB in the beginning and 53.3MB in the end (delta: 45.5kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:36:42,047 INFO L158 Benchmark]: CACSL2BoogieTranslator took 256.48ms. Allocated memory is still 96.5MB. Free memory was 63.7MB in the beginning and 71.7MB in the end (delta: -8.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,047 INFO L158 Benchmark]: Boogie Procedure Inliner took 46.80ms. Allocated memory is still 96.5MB. Free memory was 71.7MB in the beginning and 70.1MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:36:42,047 INFO L158 Benchmark]: Boogie Preprocessor took 29.57ms. Allocated memory is still 96.5MB. Free memory was 70.0MB in the beginning and 68.8MB in the end (delta: 1.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,047 INFO L158 Benchmark]: RCFGBuilder took 247.48ms. Allocated memory is still 96.5MB. Free memory was 68.8MB in the beginning and 58.3MB in the end (delta: 10.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,048 INFO L158 Benchmark]: TraceAbstraction took 13487.32ms. Allocated memory was 96.5MB in the beginning and 117.4MB in the end (delta: 21.0MB). Free memory was 57.8MB in the beginning and 67.2MB in the end (delta: -9.4MB). Peak memory consumption was 14.3MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,048 INFO L158 Benchmark]: Witness Printer took 38.35ms. Allocated memory is still 117.4MB. Free memory was 67.2MB in the beginning and 64.1MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:36:42,050 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19ms. Allocated memory is still 96.5MB. Free memory was 53.3MB in the beginning and 53.3MB in the end (delta: 45.5kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 256.48ms. Allocated memory is still 96.5MB. Free memory was 63.7MB in the beginning and 71.7MB in the end (delta: -8.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 46.80ms. Allocated memory is still 96.5MB. Free memory was 71.7MB in the beginning and 70.1MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 29.57ms. Allocated memory is still 96.5MB. Free memory was 70.0MB in the beginning and 68.8MB in the end (delta: 1.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 247.48ms. Allocated memory is still 96.5MB. Free memory was 68.8MB in the beginning and 58.3MB in the end (delta: 10.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * TraceAbstraction took 13487.32ms. Allocated memory was 96.5MB in the beginning and 117.4MB in the end (delta: 21.0MB). Free memory was 57.8MB in the beginning and 67.2MB in the end (delta: -9.4MB). Peak memory consumption was 14.3MB. Max. memory is 16.1GB. * Witness Printer took 38.35ms. Allocated memory is still 117.4MB. Free memory was 67.2MB in the beginning and 64.1MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 29 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 13.4s, OverallIterations: 4, TraceHistogramMax: 6, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 1.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.1s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 53 SdHoareTripleChecker+Valid, 0.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 48 mSDsluCounter, 338 SdHoareTripleChecker+Invalid, 0.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 236 mSDsCounter, 22 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 157 IncrementalHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 22 mSolverCounterUnsat, 102 mSDtfsCounter, 157 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 249 GetRequests, 216 SyntacticMatches, 3 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=33occurred in iteration=3, InterpolantAutomatonStates: 26, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 3 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 12 LocationsWithAnnotation, 29 PreInvPairs, 38 NumberOfFragments, 157 HoareAnnotationTreeSize, 29 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 12 FomulaSimplificationsInter, 40 FormulaSimplificationTreeSizeReductionInter, 0.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 10.5s InterpolantComputationTime, 172 NumberOfCodeBlocks, 172 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 260 ConstructedInterpolants, 0 QuantifiedInterpolants, 799 SizeOfPredicates, 14 NumberOfNonLiveVariables, 374 ConjunctsInSsa, 53 ConjunctsInUnsatCore, 6 InterpolantComputations, 2 PerfectInterpolantSequences, 301/376 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 19]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 37]: Loop Invariant Derived loop invariant: ((((((b == u && b == y) && a == v) && b % 4294967296 <= 1) && 1 <= x % 4294967296) && 1 <= b % 4294967296) && a == x) && a % 4294967296 <= 1 RESULT: Ultimate proved your program to be correct! [2022-02-20 17:36:42,075 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE