./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/floats-esbmc-regression/trunc_nondet_2.i --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/floats-esbmc-regression/trunc_nondet_2.i -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 6d32fef716001294d7d912ccc05f2e65cb12efff669d55080d4e7181fa8f42dc --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:28:44,281 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:28:44,283 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:28:44,312 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:28:44,312 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:28:44,316 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:28:44,317 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:28:44,319 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:28:44,320 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:28:44,325 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:28:44,326 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:28:44,327 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:28:44,327 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:28:44,329 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:28:44,330 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:28:44,333 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:28:44,334 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:28:44,334 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:28:44,336 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:28:44,341 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:28:44,342 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:28:44,343 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:28:44,344 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:28:44,345 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:28:44,347 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:28:44,347 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:28:44,347 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:28:44,348 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:28:44,349 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:28:44,349 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:28:44,350 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:28:44,350 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:28:44,352 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:28:44,352 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:28:44,353 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:28:44,353 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:28:44,354 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:28:44,354 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:28:44,354 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:28:44,355 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:28:44,355 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:28:44,356 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 16:28:44,387 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:28:44,387 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:28:44,388 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:28:44,388 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:28:44,388 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:28:44,389 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:28:44,389 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:28:44,389 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:28:44,389 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:28:44,389 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:28:44,390 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:28:44,390 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:28:44,390 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:28:44,391 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:28:44,392 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:28:44,392 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:28:44,392 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:28:44,392 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:28:44,392 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:28:44,392 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:28:44,393 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:28:44,393 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:28:44,394 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:28:44,394 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 -> 6d32fef716001294d7d912ccc05f2e65cb12efff669d55080d4e7181fa8f42dc [2022-02-20 16:28:44,553 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:28:44,566 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:28:44,568 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:28:44,569 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:28:44,569 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:28:44,570 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/floats-esbmc-regression/trunc_nondet_2.i [2022-02-20 16:28:44,607 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/322e2d777/7c186e0a95e64ed4b0ea497489441e85/FLAG9f0d3300d [2022-02-20 16:28:45,046 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:28:45,046 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/floats-esbmc-regression/trunc_nondet_2.i [2022-02-20 16:28:45,065 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/322e2d777/7c186e0a95e64ed4b0ea497489441e85/FLAG9f0d3300d [2022-02-20 16:28:45,077 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/322e2d777/7c186e0a95e64ed4b0ea497489441e85 [2022-02-20 16:28:45,079 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:28:45,082 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:28:45,083 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:28:45,084 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:28:45,086 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:28:45,087 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:28:45" (1/1) ... [2022-02-20 16:28:45,088 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4d72be7a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:45, skipping insertion in model container [2022-02-20 16:28:45,088 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:28:45" (1/1) ... [2022-02-20 16:28:45,093 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:28:45,125 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:28:45,426 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/floats-esbmc-regression/trunc_nondet_2.i[38168,38181] [2022-02-20 16:28:45,433 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator has thrown an exception: java.lang.UnsupportedOperationException: floating point operation not supported in non-bitprecise translation: isinf at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.expressiontranslation.IntegerTranslation.constructOtherUnaryFloatOperation(IntegerTranslation.java:848) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.standardfunctions.StandardFunctionHandler.handleUnaryFloatFunction(StandardFunctionHandler.java:1792) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.standardfunctions.StandardFunctionHandler.translateStandardFunction(StandardFunctionHandler.java:235) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1442) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:267) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1115) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:276) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:2407) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:303) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:2407) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:303) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.result.ExpressionResultTransformer.transformDispatchDecaySwitchRexBoolToInt(ExpressionResultTransformer.java:177) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.chandler.FunctionHandler.handleFunctionCallGivenNameAndArguments(FunctionHandler.java:675) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.chandler.FunctionHandler.handleFunctionCallExpression(FunctionHandler.java:509) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1449) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:267) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1392) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:220) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1076) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:232) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.chandler.FunctionHandler.handleFunctionDefinition(FunctionHandler.java:371) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:1465) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:155) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.processTUchild(CHandler.java:3271) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:2356) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.CHandler.visit(CHandler.java:601) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.PRDispatcher.dispatch(PRDispatcher.java:134) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.MainTranslator.translate(MainTranslator.java:192) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.MainTranslator.run(MainTranslator.java:115) at de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.MainTranslator.(MainTranslator.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver.finish(CACSL2BoogieTranslatorObserver.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:28:45,438 INFO L158 Benchmark]: Toolchain (without parser) took 355.22ms. Allocated memory is still 104.9MB. Free memory was 70.8MB in the beginning and 75.6MB in the end (delta: -4.8MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:28:45,440 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 104.9MB. Free memory is still 59.4MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:28:45,441 INFO L158 Benchmark]: CACSL2BoogieTranslator took 352.83ms. Allocated memory is still 104.9MB. Free memory was 70.8MB in the beginning and 75.6MB in the end (delta: -4.8MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:28:45,442 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 104.9MB. Free memory is still 59.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 352.83ms. Allocated memory is still 104.9MB. Free memory was 70.8MB in the beginning and 75.6MB in the end (delta: -4.8MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - ExceptionOrErrorResult: UnsupportedOperationException: floating point operation not supported in non-bitprecise translation: isinf de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: UnsupportedOperationException: floating point operation not supported in non-bitprecise translation: isinf: de.uni_freiburg.informatik.ultimate.cdt.translation.implementation.base.expressiontranslation.IntegerTranslation.constructOtherUnaryFloatOperation(IntegerTranslation.java:848) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### 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/floats-esbmc-regression/trunc_nondet_2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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 6d32fef716001294d7d912ccc05f2e65cb12efff669d55080d4e7181fa8f42dc --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:28:46,834 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:28:46,835 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:28:46,854 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:28:46,855 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:28:46,855 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:28:46,856 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:28:46,857 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:28:46,861 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:28:46,866 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:28:46,867 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:28:46,868 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:28:46,869 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:28:46,870 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:28:46,871 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:28:46,873 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:28:46,874 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:28:46,875 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:28:46,876 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:28:46,879 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:28:46,883 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:28:46,886 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:28:46,886 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:28:46,887 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:28:46,889 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:28:46,891 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:28:46,891 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:28:46,892 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:28:46,893 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:28:46,894 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:28:46,894 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:28:46,895 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:28:46,895 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:28:46,897 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:28:46,898 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:28:46,898 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:28:46,899 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:28:46,899 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:28:46,899 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:28:46,900 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:28:46,901 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:28:46,902 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 16:28:46,935 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:28:46,935 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:28:46,935 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:28:46,935 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:28:46,936 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:28:46,936 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:28:46,937 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:28:46,937 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:28:46,937 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:28:46,938 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:28:46,938 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:28:46,938 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:28:46,938 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:28:46,939 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:28:46,940 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:28:46,940 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:28:46,940 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:28:46,940 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:28:46,940 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:28:46,941 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:28:46,941 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:28:46,941 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:28:46,941 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:28:46,941 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:28:46,941 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:28:46,942 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:28:46,943 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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 -> 6d32fef716001294d7d912ccc05f2e65cb12efff669d55080d4e7181fa8f42dc [2022-02-20 16:28:47,215 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:28:47,232 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:28:47,234 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:28:47,235 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:28:47,236 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:28:47,237 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/floats-esbmc-regression/trunc_nondet_2.i [2022-02-20 16:28:47,288 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/53f14be08/d24661d43d4b4370bd65212ca4522575/FLAGb0023a236 [2022-02-20 16:28:47,739 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:28:47,740 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/floats-esbmc-regression/trunc_nondet_2.i [2022-02-20 16:28:47,751 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/53f14be08/d24661d43d4b4370bd65212ca4522575/FLAGb0023a236 [2022-02-20 16:28:48,096 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/53f14be08/d24661d43d4b4370bd65212ca4522575 [2022-02-20 16:28:48,097 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:28:48,099 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:28:48,100 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:28:48,100 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:28:48,104 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:28:48,105 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,106 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7162c99f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48, skipping insertion in model container [2022-02-20 16:28:48,107 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,111 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:28:48,146 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:28:48,459 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/floats-esbmc-regression/trunc_nondet_2.i[38168,38181] [2022-02-20 16:28:48,467 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:28:48,475 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:28:48,506 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/floats-esbmc-regression/trunc_nondet_2.i[38168,38181] [2022-02-20 16:28:48,516 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:28:48,602 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:28:48,602 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48 WrapperNode [2022-02-20 16:28:48,602 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:28:48,603 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:28:48,604 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:28:48,604 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:28:48,608 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,636 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,654 INFO L137 Inliner]: procedures = 461, calls = 10, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 25 [2022-02-20 16:28:48,654 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:28:48,655 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:28:48,655 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:28:48,655 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:28:48,660 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,660 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,661 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,661 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,666 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,667 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,668 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,670 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:28:48,671 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:28:48,671 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:28:48,671 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:28:48,672 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (1/1) ... [2022-02-20 16:28:48,679 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:28:48,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:28:48,694 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 16:28:48,696 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 16:28:48,717 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:28:48,718 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:28:48,718 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:28:48,718 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:28:48,718 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 16:28:48,718 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 16:28:48,782 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:28:48,783 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:28:50,270 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:28:50,275 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:28:50,275 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 16:28:50,276 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:28:50 BoogieIcfgContainer [2022-02-20 16:28:50,276 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:28:50,277 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:28:50,277 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:28:50,279 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:28:50,291 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:28:48" (1/3) ... [2022-02-20 16:28:50,292 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a5dfc65 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:28:50, skipping insertion in model container [2022-02-20 16:28:50,292 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:28:48" (2/3) ... [2022-02-20 16:28:50,292 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a5dfc65 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:28:50, skipping insertion in model container [2022-02-20 16:28:50,292 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:28:50" (3/3) ... [2022-02-20 16:28:50,293 INFO L111 eAbstractionObserver]: Analyzing ICFG trunc_nondet_2.i [2022-02-20 16:28:50,297 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:28:50,297 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:28:50,340 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:28:50,361 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 16:28:50,361 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:28:50,376 INFO L276 IsEmpty]: Start isEmpty. Operand has 17 states, 11 states have (on average 1.2727272727272727) internal successors, (14), 12 states have internal predecessors, (14), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:28:50,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:28:50,379 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:28:50,380 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:28:50,380 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:28:50,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:28:50,384 INFO L85 PathProgramCache]: Analyzing trace with hash -1694693467, now seen corresponding path program 1 times [2022-02-20 16:28:50,392 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:28:50,392 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2088807492] [2022-02-20 16:28:50,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:28:50,393 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:28:50,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:28:50,395 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:28:50,396 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 16:28:50,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:28:50,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:28:50,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:28:50,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:28:50,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {20#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(17bv32, 2bv32); {20#true} is VALID [2022-02-20 16:28:50,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {20#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet85#1, main_~d~0#1, main_~d1~0#1;main_~d~0#1 := main_#t~nondet85#1;havoc main_#t~nondet85#1; {20#true} is VALID [2022-02-20 16:28:50,607 INFO L272 TraceCheckUtils]: 2: Hoare triple {20#true} call assume_abort_if_not((if 0bv32 == (if ~fp.isInfinite~DOUBLE(main_~d~0#1) then 1bv32 else 0bv32) then 1bv32 else 0bv32)); {20#true} is VALID [2022-02-20 16:28:50,607 INFO L290 TraceCheckUtils]: 3: Hoare triple {20#true} ~cond := #in~cond; {20#true} is VALID [2022-02-20 16:28:50,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {20#true} assume 0bv32 == ~cond;assume false; {21#false} is VALID [2022-02-20 16:28:50,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {21#false} assume true; {21#false} is VALID [2022-02-20 16:28:50,608 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {21#false} {20#true} #30#return; {21#false} is VALID [2022-02-20 16:28:50,608 INFO L272 TraceCheckUtils]: 7: Hoare triple {21#false} call assume_abort_if_not((if 0bv32 == (if ~fp.isNaN~DOUBLE(main_~d~0#1) then 1bv32 else 0bv32) then 1bv32 else 0bv32)); {21#false} is VALID [2022-02-20 16:28:50,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {21#false} ~cond := #in~cond; {21#false} is VALID [2022-02-20 16:28:50,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {21#false} assume 0bv32 == ~cond;assume false; {21#false} is VALID [2022-02-20 16:28:50,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {21#false} assume true; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {21#false} {21#false} #32#return; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L272 TraceCheckUtils]: 12: Hoare triple {21#false} call assume_abort_if_not((if ~fp.lt~DOUBLE(main_~d~0#1, ~convertLONGLONGToDOUBLE(currentRoundingMode, 9223372036854775807bv64)) && ~fp.gt~DOUBLE(main_~d~0#1, ~convertLONGLONGToDOUBLE(currentRoundingMode, 9223372036854775808bv64)) then 1bv32 else 0bv32)); {21#false} is VALID [2022-02-20 16:28:50,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {21#false} ~cond := #in~cond; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {21#false} assume 0bv32 == ~cond;assume false; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {21#false} assume true; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21#false} {21#false} #34#return; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {21#false} main_~d1~0#1 := ~convertLONGLONGToDOUBLE(currentRoundingMode, ~convertDOUBLEToLONGLONG(~roundTowardZero, main_~d~0#1));assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if ~fp.eq~DOUBLE(~fp.roundToIntegral~DOUBLE(~roundTowardZero, main_~d~0#1), main_~d1~0#1) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {21#false} is VALID [2022-02-20 16:28:50,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {21#false} assume 0bv32 == __VERIFIER_assert_~cond#1; {21#false} is VALID [2022-02-20 16:28:50,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {21#false} assume !false; {21#false} is VALID [2022-02-20 16:28:50,610 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 16:28:50,610 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:28:50,611 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:28:50,611 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2088807492] [2022-02-20 16:28:50,611 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2088807492] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:28:50,611 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:28:50,612 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:28:50,616 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [91020013] [2022-02-20 16:28:50,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:28:50,621 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 20 [2022-02-20 16:28:50,622 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:28:50,624 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:28:50,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:28:50,754 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:28:50,754 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:28:50,774 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:28:50,775 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:28:50,778 INFO L87 Difference]: Start difference. First operand has 17 states, 11 states have (on average 1.2727272727272727) internal successors, (14), 12 states have internal predecessors, (14), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:28:52,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:28:52,699 INFO L93 Difference]: Finished difference Result 31 states and 39 transitions. [2022-02-20 16:28:52,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:28:52,699 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 20 [2022-02-20 16:28:52,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:28:52,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:28:52,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 39 transitions. [2022-02-20 16:28:52,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:28:52,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 39 transitions. [2022-02-20 16:28:52,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 39 transitions. [2022-02-20 16:28:52,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:28:52,946 INFO L225 Difference]: With dead ends: 31 [2022-02-20 16:28:52,946 INFO L226 Difference]: Without dead ends: 13 [2022-02-20 16:28:52,948 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 19 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 16:28:52,951 INFO L933 BasicCegarLoop]: 18 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, 18 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 16:28:52,951 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:28:52,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13 states. [2022-02-20 16:28:52,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13 to 13. [2022-02-20 16:28:52,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:28:52,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 13 states. Second operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:28:52,974 INFO L74 IsIncluded]: Start isIncluded. First operand 13 states. Second operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:28:52,975 INFO L87 Difference]: Start difference. First operand 13 states. Second operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:28:52,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:28:52,981 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2022-02-20 16:28:52,981 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2022-02-20 16:28:52,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:28:52,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:28:52,982 INFO L74 IsIncluded]: Start isIncluded. First operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 13 states. [2022-02-20 16:28:52,982 INFO L87 Difference]: Start difference. First operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 13 states. [2022-02-20 16:28:52,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:28:52,988 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2022-02-20 16:28:52,989 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2022-02-20 16:28:52,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:28:52,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:28:52,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:28:52,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:28:52,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 8 states have (on average 1.0) internal successors, (8), 8 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:28:52,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 14 transitions. [2022-02-20 16:28:52,995 INFO L78 Accepts]: Start accepts. Automaton has 13 states and 14 transitions. Word has length 20 [2022-02-20 16:28:52,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:28:52,999 INFO L470 AbstractCegarLoop]: Abstraction has 13 states and 14 transitions. [2022-02-20 16:28:53,000 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:28:53,000 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2022-02-20 16:28:53,001 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:28:53,001 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:28:53,001 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:28:53,010 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2022-02-20 16:28:53,207 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:28:53,208 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:28:53,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:28:53,208 INFO L85 PathProgramCache]: Analyzing trace with hash -1957438941, now seen corresponding path program 1 times [2022-02-20 16:28:53,209 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:28:53,209 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [484990392] [2022-02-20 16:28:53,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:28:53,209 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:28:53,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:28:53,210 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:28:53,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 16:28:54,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:28:54,605 INFO L263 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 16:28:56,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2022-02-20 16:28:56,648 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:29:52,764 WARN L838 $PredicateComparison]: unable to prove that (exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64))) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|)))))) is different from false [2022-02-20 16:29:54,791 WARN L860 $PredicateComparison]: unable to prove that (exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64))) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|)))))) is different from true [2022-02-20 16:29:54,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {166#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(17bv32, 2bv32); {171#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:29:54,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {171#(= currentRoundingMode roundNearestTiesToEven)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet85#1, main_~d~0#1, main_~d1~0#1;main_~d~0#1 := main_#t~nondet85#1;havoc main_#t~nondet85#1; {171#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:29:54,793 INFO L272 TraceCheckUtils]: 2: Hoare triple {171#(= currentRoundingMode roundNearestTiesToEven)} call assume_abort_if_not((if 0bv32 == (if ~fp.isInfinite~DOUBLE(main_~d~0#1) then 1bv32 else 0bv32) then 1bv32 else 0bv32)); {171#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:29:54,793 INFO L290 TraceCheckUtils]: 3: Hoare triple {171#(= currentRoundingMode roundNearestTiesToEven)} ~cond := #in~cond; {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,793 INFO L290 TraceCheckUtils]: 4: Hoare triple {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} assume !(0bv32 == ~cond); {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} assume true; {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,796 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} {171#(= currentRoundingMode roundNearestTiesToEven)} #30#return; {192#(and (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,797 INFO L272 TraceCheckUtils]: 7: Hoare triple {192#(and (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} call assume_abort_if_not((if 0bv32 == (if ~fp.isNaN~DOUBLE(main_~d~0#1) then 1bv32 else 0bv32) then 1bv32 else 0bv32)); {171#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:29:54,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {171#(= currentRoundingMode roundNearestTiesToEven)} ~cond := #in~cond; {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} assume !(0bv32 == ~cond); {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} assume true; {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,801 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} {192#(and (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} #32#return; {208#(and (not (fp.isNaN |ULTIMATE.start_main_~d~0#1|)) (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,802 INFO L272 TraceCheckUtils]: 12: Hoare triple {208#(and (not (fp.isNaN |ULTIMATE.start_main_~d~0#1|)) (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} call assume_abort_if_not((if ~fp.lt~DOUBLE(main_~d~0#1, ~convertLONGLONGToDOUBLE(currentRoundingMode, 9223372036854775807bv64)) && ~fp.gt~DOUBLE(main_~d~0#1, ~convertLONGLONGToDOUBLE(currentRoundingMode, 9223372036854775808bv64)) then 1bv32 else 0bv32)); {171#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:29:54,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {171#(= currentRoundingMode roundNearestTiesToEven)} ~cond := #in~cond; {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {181#(and (= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond) (= currentRoundingMode roundNearestTiesToEven))} assume !(0bv32 == ~cond); {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} assume true; {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:29:54,805 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {185#(and (not (= |assume_abort_if_not_#in~cond| (_ bv0 32))) (= currentRoundingMode roundNearestTiesToEven))} {208#(and (not (fp.isNaN |ULTIMATE.start_main_~d~0#1|)) (not (fp.isInfinite |ULTIMATE.start_main_~d~0#1|)) (= currentRoundingMode roundNearestTiesToEven))} #34#return; {224#(and (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) currentRoundingMode (_ bv9223372036854775808 64))) (= currentRoundingMode roundNearestTiesToEven) (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) currentRoundingMode (_ bv9223372036854775807 64))))} is VALID [2022-02-20 16:29:55,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {224#(and (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) currentRoundingMode (_ bv9223372036854775808 64))) (= currentRoundingMode roundNearestTiesToEven) (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) currentRoundingMode (_ bv9223372036854775807 64))))} main_~d1~0#1 := ~convertLONGLONGToDOUBLE(currentRoundingMode, ~convertDOUBLEToLONGLONG(~roundTowardZero, main_~d~0#1));assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if ~fp.eq~DOUBLE(~fp.roundToIntegral~DOUBLE(~roundTowardZero, main_~d~0#1), main_~d1~0#1) then 1bv32 else 0bv32);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {228#(exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (or (and (= |ULTIMATE.start___VERIFIER_assert_~cond#1| (_ bv0 32)) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))) (and (= |ULTIMATE.start___VERIFIER_assert_~cond#1| (_ bv1 32)) (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64)))))} is VALID [2022-02-20 16:29:55,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {228#(exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (or (and (= |ULTIMATE.start___VERIFIER_assert_~cond#1| (_ bv0 32)) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))) (and (= |ULTIMATE.start___VERIFIER_assert_~cond#1| (_ bv1 32)) (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64)))))} assume 0bv32 == __VERIFIER_assert_~cond#1; {232#(exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64))) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))))} is VALID [2022-02-20 16:29:57,235 WARN L290 TraceCheckUtils]: 19: Hoare triple {232#(exists ((|ULTIMATE.start_main_~d~0#1| (_ FloatingPoint 11 53))) (and (fp.lt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775807 64))) (fp.gt |ULTIMATE.start_main_~d~0#1| ((_ to_fp 11 53) roundNearestTiesToEven (_ bv9223372036854775808 64))) (not (fp.eq (fp.roundToIntegral roundTowardZero |ULTIMATE.start_main_~d~0#1|) ((_ to_fp 11 53) roundNearestTiesToEven ((_ fp.to_sbv 64) roundTowardZero |ULTIMATE.start_main_~d~0#1|))))))} assume !false; {167#false} is UNKNOWN [2022-02-20 16:29:57,238 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 16:29:57,238 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:29:57,238 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:29:57,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [484990392] [2022-02-20 16:29:57,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [484990392] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:29:57,239 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:29:57,239 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 16:29:57,239 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1102504030] [2022-02-20 16:29:57,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:29:57,240 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 6 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 20 [2022-02-20 16:29:57,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:29:57,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 6 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:29:59,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 13 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:29:59,590 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:29:59,590 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:29:59,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:29:59,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=49, Unknown=2, NotChecked=14, Total=90 [2022-02-20 16:29:59,591 INFO L87 Difference]: Start difference. First operand 13 states and 14 transitions. Second operand has 10 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 6 states have internal predecessors, (8), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 16:30:02,966 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, FloatingPoint, RoundingMode, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers []