./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/float-newlib/double_req_bl_1210.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/float-newlib/double_req_bl_1210.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 ec4125207afaf1b514f6960540fbcd04b5d06d11b290a09d0632548b03e12b1f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:37:00,045 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:37:00,047 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:37:00,082 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:37:00,083 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:37:00,086 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:37:00,087 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:37:00,090 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:37:00,092 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:37:00,097 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:37:00,098 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:37:00,099 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:37:00,099 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:37:00,102 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:37:00,103 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:37:00,107 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:37:00,108 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:37:00,109 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:37:00,111 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:37:00,114 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:37:00,117 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:37:00,118 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:37:00,119 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:37:00,120 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:37:00,124 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:37:00,124 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:37:00,125 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:37:00,126 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:37:00,126 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:37:00,127 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:37:00,128 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:37:00,129 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:37:00,130 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:37:00,131 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:37:00,132 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:37:00,132 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:37:00,133 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:37:00,133 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:37:00,133 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:37:00,134 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:37:00,134 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:37:00,136 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:37:00,170 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:37:00,170 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:37:00,170 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:37:00,170 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:37:00,171 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:37:00,171 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:37:00,172 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:37:00,172 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:37:00,172 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:37:00,172 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:37:00,173 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:37:00,173 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:37:00,173 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:37:00,173 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:37:00,173 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:37:00,174 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:37:00,174 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:37:00,174 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:37:00,174 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:37:00,174 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:37:00,175 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:37:00,175 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:37:00,175 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:37:00,175 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:37:00,176 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:37:00,176 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:37:00,176 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:37:00,176 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:37:00,176 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:37:00,177 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:37:00,177 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:37:00,177 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:37:00,177 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:37:00,178 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 -> ec4125207afaf1b514f6960540fbcd04b5d06d11b290a09d0632548b03e12b1f [2022-02-20 16:37:00,429 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:37:00,454 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:37:00,456 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:37:00,457 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:37:00,458 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:37:00,459 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/double_req_bl_1210.c [2022-02-20 16:37:00,527 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc46df9bc/6983a2e2aec8407bb991161684e7c50f/FLAG832a24663 [2022-02-20 16:37:00,920 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:37:00,921 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/double_req_bl_1210.c [2022-02-20 16:37:00,928 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc46df9bc/6983a2e2aec8407bb991161684e7c50f/FLAG832a24663 [2022-02-20 16:37:01,324 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc46df9bc/6983a2e2aec8407bb991161684e7c50f [2022-02-20 16:37:01,329 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:37:01,332 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:37:01,334 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:37:01,334 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:37:01,337 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:37:01,338 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,338 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2c96fbe1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01, skipping insertion in model container [2022-02-20 16:37:01,339 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,344 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:37:01,359 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:37:01,527 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/float-newlib/double_req_bl_1210.c[3091,3104] [2022-02-20 16:37:01,530 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:37:01,542 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:37:01,580 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/float-newlib/double_req_bl_1210.c[3091,3104] [2022-02-20 16:37:01,581 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:37:01,604 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:37:01,605 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01 WrapperNode [2022-02-20 16:37:01,605 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:37:01,606 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:37:01,606 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:37:01,606 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:37:01,612 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:37:01" (1/1) ... [2022-02-20 16:37:01,630 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:37:01" (1/1) ... [2022-02-20 16:37:01,662 INFO L137 Inliner]: procedures = 16, calls = 70, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 199 [2022-02-20 16:37:01,663 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:37:01,664 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:37:01,664 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:37:01,664 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:37:01,672 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,672 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,676 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,676 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,687 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,702 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,709 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,716 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:37:01,717 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:37:01,717 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:37:01,717 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:37:01,718 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (1/1) ... [2022-02-20 16:37:01,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:37:01,731 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:37:01,744 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:37:01,775 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:37:01,790 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2022-02-20 16:37:01,791 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2022-02-20 16:37:01,791 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:37:01,791 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:37:01,791 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:37:01,792 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2022-02-20 16:37:01,792 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:37:01,792 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2022-02-20 16:37:01,792 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:37:01,793 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:37:01,793 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:37:01,793 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:37:01,860 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:37:01,861 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:37:02,372 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:37:02,380 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:37:02,381 INFO L299 CfgBuilder]: Removed 20 assume(true) statements. [2022-02-20 16:37:02,383 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:37:02 BoogieIcfgContainer [2022-02-20 16:37:02,383 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:37:02,385 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:37:02,385 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:37:02,388 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:37:02,389 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:37:01" (1/3) ... [2022-02-20 16:37:02,389 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@603e8583 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:37:02, skipping insertion in model container [2022-02-20 16:37:02,389 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:01" (2/3) ... [2022-02-20 16:37:02,390 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@603e8583 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:37:02, skipping insertion in model container [2022-02-20 16:37:02,390 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:37:02" (3/3) ... [2022-02-20 16:37:02,391 INFO L111 eAbstractionObserver]: Analyzing ICFG double_req_bl_1210.c [2022-02-20 16:37:02,395 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:37:02,395 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:37:02,432 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:37:02,438 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:37:02,439 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:37:02,457 INFO L276 IsEmpty]: Start isEmpty. Operand has 49 states, 44 states have (on average 1.6363636363636365) internal successors, (72), 45 states have internal predecessors, (72), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:02,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:37:02,463 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:02,464 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:02,465 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:02,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:02,474 INFO L85 PathProgramCache]: Analyzing trace with hash -542918343, now seen corresponding path program 1 times [2022-02-20 16:37:02,483 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:37:02,484 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1019404173] [2022-02-20 16:37:02,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:02,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:37:02,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:02,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 16:37:02,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:02,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#true} ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); {52#true} is VALID [2022-02-20 16:37:02,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume true; {52#true} is VALID [2022-02-20 16:37:02,687 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52#true} {53#false} #177#return; {53#false} is VALID [2022-02-20 16:37:02,688 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#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(21, 2);call #Ultimate.allocInit(12, 3);~one_modf~0 := 1.0; {52#true} is VALID [2022-02-20 16:37:02,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0);call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {52#true} is VALID [2022-02-20 16:37:02,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {52#true} assume !true; {53#false} is VALID [2022-02-20 16:37:02,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {53#false} modf_double_~j0~0#1 := (if 0 == modf_double_~i0~0#1 / 1048576 then 0 else (if 1 == modf_double_~i0~0#1 / 1048576 then 1 else ~bitwiseAnd(modf_double_~i0~0#1 / 1048576, 2047))) - 1023; {53#false} is VALID [2022-02-20 16:37:02,693 INFO L290 TraceCheckUtils]: 4: Hoare triple {53#false} assume modf_double_~j0~0#1 < 20; {53#false} is VALID [2022-02-20 16:37:02,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {53#false} assume modf_double_~j0~0#1 < 0; {53#false} is VALID [2022-02-20 16:37:02,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {53#false} assume !true; {53#false} is VALID [2022-02-20 16:37:02,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {53#false} modf_double_#res#1 := modf_double_~x#1; {53#false} is VALID [2022-02-20 16:37:02,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {53#false} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~real(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8); {53#false} is VALID [2022-02-20 16:37:02,696 INFO L272 TraceCheckUtils]: 9: Hoare triple {53#false} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {52#true} is VALID [2022-02-20 16:37:02,696 INFO L290 TraceCheckUtils]: 10: Hoare triple {52#true} ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); {52#true} is VALID [2022-02-20 16:37:02,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {52#true} assume true; {52#true} is VALID [2022-02-20 16:37:02,697 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {52#true} {53#false} #177#return; {53#false} is VALID [2022-02-20 16:37:02,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {53#false} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {53#false} is VALID [2022-02-20 16:37:02,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {53#false} assume !main_#t~short21#1; {53#false} is VALID [2022-02-20 16:37:02,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {53#false} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {53#false} is VALID [2022-02-20 16:37:02,698 INFO L290 TraceCheckUtils]: 16: Hoare triple {53#false} assume !false; {53#false} is VALID [2022-02-20 16:37:02,698 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:37:02,699 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:37:02,699 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1019404173] [2022-02-20 16:37:02,700 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1019404173] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:02,700 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:02,700 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:37:02,704 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [217980337] [2022-02-20 16:37:02,705 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:02,711 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 16:37:02,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:02,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:02,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:02,747 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:37:02,747 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:37:02,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:37:02,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:37:02,778 INFO L87 Difference]: Start difference. First operand has 49 states, 44 states have (on average 1.6363636363636365) internal successors, (72), 45 states have internal predecessors, (72), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:02,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:02,889 INFO L93 Difference]: Finished difference Result 96 states and 150 transitions. [2022-02-20 16:37:02,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:37:02,889 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 16:37:02,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:02,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:02,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 150 transitions. [2022-02-20 16:37:02,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:02,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 150 transitions. [2022-02-20 16:37:02,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 150 transitions. [2022-02-20 16:37:03,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:03,087 INFO L225 Difference]: With dead ends: 96 [2022-02-20 16:37:03,087 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 16:37:03,091 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 4 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:37:03,094 INFO L933 BasicCegarLoop]: 55 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, 55 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:37:03,095 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:37:03,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 16:37:03,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 16:37:03,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:03,130 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,131 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,132 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:03,137 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:37:03,138 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:03,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:03,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:03,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:03,142 INFO L87 Difference]: Start difference. First operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:03,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:03,146 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:37:03,147 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:03,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:03,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:03,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:03,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:03,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-02-20 16:37:03,158 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 17 [2022-02-20 16:37:03,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:03,158 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-02-20 16:37:03,160 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,165 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:03,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:37:03,166 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:03,166 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:03,167 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:37:03,168 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:03,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:03,170 INFO L85 PathProgramCache]: Analyzing trace with hash 634117776, now seen corresponding path program 1 times [2022-02-20 16:37:03,171 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:37:03,171 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1458124965] [2022-02-20 16:37:03,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:03,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:37:03,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:03,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 16:37:03,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:03,301 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#true} ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); {328#true} is VALID [2022-02-20 16:37:03,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 16:37:03,302 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {328#true} {328#true} #177#return; {328#true} is VALID [2022-02-20 16:37:03,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#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(21, 2);call #Ultimate.allocInit(12, 3);~one_modf~0 := 1.0; {328#true} is VALID [2022-02-20 16:37:03,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0);call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {328#true} is VALID [2022-02-20 16:37:03,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {328#true} call modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset := #Ultimate.allocOnStack(8);call write~real(modf_double_~x#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 8);call modf_double_#t~mem4#1 := read~int(modf_double_~#ew_u~0#1.base, 4 + modf_double_~#ew_u~0#1.offset, 4);modf_double_~i0~0#1 := (if modf_double_#t~mem4#1 % 4294967296 % 4294967296 <= 2147483647 then modf_double_#t~mem4#1 % 4294967296 % 4294967296 else modf_double_#t~mem4#1 % 4294967296 % 4294967296 - 4294967296);havoc modf_double_#t~mem4#1;call modf_double_#t~mem5#1 := read~int(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 4);modf_double_~i1~0#1 := (if modf_double_#t~mem5#1 % 4294967296 % 4294967296 <= 2147483647 then modf_double_#t~mem5#1 % 4294967296 % 4294967296 else modf_double_#t~mem5#1 % 4294967296 % 4294967296 - 4294967296);havoc modf_double_#t~mem5#1;call ULTIMATE.dealloc(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset);havoc modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset; {328#true} is VALID [2022-02-20 16:37:03,303 INFO L290 TraceCheckUtils]: 3: Hoare triple {328#true} goto; {328#true} is VALID [2022-02-20 16:37:03,304 INFO L290 TraceCheckUtils]: 4: Hoare triple {328#true} modf_double_~j0~0#1 := (if 0 == modf_double_~i0~0#1 / 1048576 then 0 else (if 1 == modf_double_~i0~0#1 / 1048576 then 1 else ~bitwiseAnd(modf_double_~i0~0#1 / 1048576, 2047))) - 1023; {328#true} is VALID [2022-02-20 16:37:03,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {328#true} assume modf_double_~j0~0#1 < 20; {328#true} is VALID [2022-02-20 16:37:03,304 INFO L290 TraceCheckUtils]: 6: Hoare triple {328#true} assume modf_double_~j0~0#1 < 0; {328#true} is VALID [2022-02-20 16:37:03,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {328#true} call modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset := #Ultimate.allocOnStack(8);call write~int((if 0 == modf_double_~i0~0#1 then 0 else (if 1 == modf_double_~i0~0#1 then 0 else ~bitwiseAnd(modf_double_~i0~0#1, 2147483648))), modf_double_~#iw_u~0#1.base, 4 + modf_double_~#iw_u~0#1.offset, 4);call write~int(0, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, 4);call modf_double_#t~mem6#1 := read~real(modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, 8);call write~real(modf_double_#t~mem6#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8);havoc modf_double_#t~mem6#1;call ULTIMATE.dealloc(modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset);havoc modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset; {328#true} is VALID [2022-02-20 16:37:03,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {328#true} goto; {328#true} is VALID [2022-02-20 16:37:03,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {328#true} modf_double_#res#1 := modf_double_~x#1; {328#true} is VALID [2022-02-20 16:37:03,306 INFO L290 TraceCheckUtils]: 10: Hoare triple {328#true} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~real(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8); {328#true} is VALID [2022-02-20 16:37:03,306 INFO L272 TraceCheckUtils]: 11: Hoare triple {328#true} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {328#true} is VALID [2022-02-20 16:37:03,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {328#true} ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); {328#true} is VALID [2022-02-20 16:37:03,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {328#true} assume true; {328#true} is VALID [2022-02-20 16:37:03,307 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {328#true} {328#true} #177#return; {328#true} is VALID [2022-02-20 16:37:03,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {328#true} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {328#true} is VALID [2022-02-20 16:37:03,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {328#true} assume !main_#t~short21#1; {333#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:37:03,308 INFO L290 TraceCheckUtils]: 17: Hoare triple {333#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {329#false} is VALID [2022-02-20 16:37:03,308 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#false} assume !false; {329#false} is VALID [2022-02-20 16:37:03,308 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:37:03,309 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:37:03,309 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1458124965] [2022-02-20 16:37:03,309 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1458124965] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:03,309 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:03,310 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:37:03,310 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1919908879] [2022-02-20 16:37:03,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:03,311 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-02-20 16:37:03,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:03,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:03,329 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:37:03,329 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:37:03,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:37:03,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:37:03,330 INFO L87 Difference]: Start difference. First operand 46 states and 52 transitions. Second operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:03,420 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-02-20 16:37:03,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:37:03,420 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-02-20 16:37:03,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:03,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2022-02-20 16:37:03,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2022-02-20 16:37:03,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2022-02-20 16:37:03,474 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 16:37:03,479 INFO L225 Difference]: With dead ends: 49 [2022-02-20 16:37:03,480 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 16:37:03,483 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:37:03,486 INFO L933 BasicCegarLoop]: 52 mSDtfsCounter, 0 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 98 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:37:03,486 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 98 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:37:03,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 16:37:03,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 16:37:03,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:03,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,497 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,498 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:03,502 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-02-20 16:37:03,502 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 16:37:03,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:03,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:03,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:03,505 INFO L87 Difference]: Start difference. First operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:03,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:03,510 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-02-20 16:37:03,510 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 16:37:03,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:03,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:03,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:03,516 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:03,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 42 states have (on average 1.119047619047619) internal successors, (47), 42 states have internal predecessors, (47), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:03,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-02-20 16:37:03,518 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 19 [2022-02-20 16:37:03,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:03,520 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-02-20 16:37:03,520 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:03,520 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 16:37:03,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 16:37:03,521 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:03,521 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:03,522 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:37:03,522 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:03,522 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:03,522 INFO L85 PathProgramCache]: Analyzing trace with hash -601800040, now seen corresponding path program 1 times [2022-02-20 16:37:03,523 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:37:03,523 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [304241420] [2022-02-20 16:37:03,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:03,523 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:37:03,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:37:03,617 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:37:03,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:37:03,674 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 16:37:03,675 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:37:03,676 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:37:03,688 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:37:03,691 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2022-02-20 16:37:03,694 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:37:03,726 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret19 := isnan_double(#t~mem18); [2022-02-20 16:37:03,730 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.UnprovableResult.getProgramExecutionAsString(UnprovableResult.java:132) at de.uni_freiburg.informatik.ultimate.core.lib.results.UnprovableResult.getLongDescription(UnprovableResult.java:125) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) 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:37:03,736 INFO L158 Benchmark]: Toolchain (without parser) took 2401.52ms. Allocated memory was 90.2MB in the beginning and 109.1MB in the end (delta: 18.9MB). Free memory was 57.2MB in the beginning and 82.7MB in the end (delta: -25.5MB). Peak memory consumption was 35.4MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,739 INFO L158 Benchmark]: CDTParser took 0.62ms. Allocated memory is still 90.2MB. Free memory was 60.2MB in the beginning and 60.1MB in the end (delta: 26.6kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:37:03,739 INFO L158 Benchmark]: CACSL2BoogieTranslator took 271.61ms. Allocated memory is still 90.2MB. Free memory was 57.0MB in the beginning and 64.6MB in the end (delta: -7.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,739 INFO L158 Benchmark]: Boogie Procedure Inliner took 57.21ms. Allocated memory is still 90.2MB. Free memory was 64.6MB in the beginning and 61.1MB in the end (delta: 3.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,740 INFO L158 Benchmark]: Boogie Preprocessor took 52.32ms. Allocated memory is still 90.2MB. Free memory was 61.1MB in the beginning and 58.3MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,740 INFO L158 Benchmark]: RCFGBuilder took 666.78ms. Allocated memory was 90.2MB in the beginning and 109.1MB in the end (delta: 18.9MB). Free memory was 58.3MB in the beginning and 83.0MB in the end (delta: -24.6MB). Peak memory consumption was 28.2MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,741 INFO L158 Benchmark]: TraceAbstraction took 1347.09ms. Allocated memory is still 109.1MB. Free memory was 82.4MB in the beginning and 82.7MB in the end (delta: -247.8kB). Peak memory consumption was 41.5MB. Max. memory is 16.1GB. [2022-02-20 16:37:03,745 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.62ms. Allocated memory is still 90.2MB. Free memory was 60.2MB in the beginning and 60.1MB in the end (delta: 26.6kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 271.61ms. Allocated memory is still 90.2MB. Free memory was 57.0MB in the beginning and 64.6MB in the end (delta: -7.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 57.21ms. Allocated memory is still 90.2MB. Free memory was 64.6MB in the beginning and 61.1MB in the end (delta: 3.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 52.32ms. Allocated memory is still 90.2MB. Free memory was 61.1MB in the beginning and 58.3MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 666.78ms. Allocated memory was 90.2MB in the beginning and 109.1MB in the end (delta: 18.9MB). Free memory was 58.3MB in the beginning and 83.0MB in the end (delta: -24.6MB). Peak memory consumption was 28.2MB. Max. memory is 16.1GB. * TraceAbstraction took 1347.09ms. Allocated memory is still 109.1MB. Free memory was 82.4MB in the beginning and 82.7MB in the end (delta: -247.8kB). Peak memory consumption was 41.5MB. 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 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:37:03,779 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 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/float-newlib/double_req_bl_1210.c -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 ec4125207afaf1b514f6960540fbcd04b5d06d11b290a09d0632548b03e12b1f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:37:05,624 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:37:05,626 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:37:05,660 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:37:05,660 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:37:05,664 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:37:05,666 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:37:05,671 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:37:05,673 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:37:05,677 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:37:05,678 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:37:05,682 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:37:05,682 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:37:05,685 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:37:05,686 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:37:05,689 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:37:05,689 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:37:05,690 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:37:05,692 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:37:05,698 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:37:05,699 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:37:05,700 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:37:05,702 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:37:05,703 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:37:05,708 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:37:05,708 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:37:05,708 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:37:05,710 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:37:05,710 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:37:05,711 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:37:05,712 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:37:05,712 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:37:05,714 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:37:05,714 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:37:05,715 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:37:05,716 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:37:05,716 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:37:05,717 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:37:05,717 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:37:05,718 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:37:05,719 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:37:05,719 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:37:05,753 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:37:05,753 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:37:05,754 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:37:05,755 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:37:05,756 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:37:05,756 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:37:05,757 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:37:05,757 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:37:05,757 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:37:05,758 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:37:05,758 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:37:05,758 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:37:05,759 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:37:05,759 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:37:05,759 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:37:05,759 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:37:05,759 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:37:05,760 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:37:05,761 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:37:05,761 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:37:05,761 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:37:05,770 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:37:05,771 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:37:05,771 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:37:05,771 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:37:05,771 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:37:05,772 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:37:05,772 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:37:05,772 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:37:05,772 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:37:05,772 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:37:05,773 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 -> ec4125207afaf1b514f6960540fbcd04b5d06d11b290a09d0632548b03e12b1f [2022-02-20 16:37:06,097 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:37:06,116 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:37:06,118 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:37:06,120 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:37:06,120 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:37:06,121 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/double_req_bl_1210.c [2022-02-20 16:37:06,182 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d7937f/c8290fdc23a4409eb8d558ab6eb295c9/FLAGaf6db4c3c [2022-02-20 16:37:06,659 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:37:06,664 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/double_req_bl_1210.c [2022-02-20 16:37:06,673 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d7937f/c8290fdc23a4409eb8d558ab6eb295c9/FLAGaf6db4c3c [2022-02-20 16:37:07,152 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e1d7937f/c8290fdc23a4409eb8d558ab6eb295c9 [2022-02-20 16:37:07,154 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:37:07,155 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:37:07,158 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:37:07,158 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:37:07,164 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:37:07,166 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,167 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53695fb5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07, skipping insertion in model container [2022-02-20 16:37:07,168 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,174 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:37:07,200 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:37:07,337 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/float-newlib/double_req_bl_1210.c[3091,3104] [2022-02-20 16:37:07,341 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:37:07,405 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:37:07,441 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/float-newlib/double_req_bl_1210.c[3091,3104] [2022-02-20 16:37:07,443 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:37:07,459 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:37:07,460 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07 WrapperNode [2022-02-20 16:37:07,460 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:37:07,461 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:37:07,461 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:37:07,462 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:37:07,467 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:37:07" (1/1) ... [2022-02-20 16:37:07,477 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:37:07" (1/1) ... [2022-02-20 16:37:07,505 INFO L137 Inliner]: procedures = 19, calls = 70, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 198 [2022-02-20 16:37:07,505 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:37:07,506 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:37:07,506 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:37:07,507 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:37:07,514 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,514 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,518 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,519 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,530 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,535 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,542 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,546 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:37:07,551 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:37:07,552 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:37:07,552 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:37:07,552 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (1/1) ... [2022-02-20 16:37:07,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:37:07,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:37:07,589 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:37:07,614 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:37:07,630 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2022-02-20 16:37:07,630 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2022-02-20 16:37:07,630 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:37:07,630 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2022-02-20 16:37:07,632 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2022-02-20 16:37:07,632 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:37:07,632 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:37:07,632 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 16:37:07,632 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:37:07,633 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:37:07,633 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 16:37:07,633 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:37:07,702 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:37:07,703 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:37:09,453 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:37:09,459 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:37:09,465 INFO L299 CfgBuilder]: Removed 20 assume(true) statements. [2022-02-20 16:37:09,467 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:37:09 BoogieIcfgContainer [2022-02-20 16:37:09,467 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:37:09,469 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:37:09,469 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:37:09,471 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:37:09,472 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:37:07" (1/3) ... [2022-02-20 16:37:09,472 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b2b39a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:37:09, skipping insertion in model container [2022-02-20 16:37:09,472 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:37:07" (2/3) ... [2022-02-20 16:37:09,473 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b2b39a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:37:09, skipping insertion in model container [2022-02-20 16:37:09,473 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:37:09" (3/3) ... [2022-02-20 16:37:09,474 INFO L111 eAbstractionObserver]: Analyzing ICFG double_req_bl_1210.c [2022-02-20 16:37:09,479 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:37:09,479 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:37:09,526 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:37:09,536 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:37:09,536 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:37:09,568 INFO L276 IsEmpty]: Start isEmpty. Operand has 49 states, 44 states have (on average 1.6363636363636365) internal successors, (72), 45 states have internal predecessors, (72), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:09,574 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:37:09,574 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:09,575 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:09,576 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:09,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:09,587 INFO L85 PathProgramCache]: Analyzing trace with hash -542918343, now seen corresponding path program 1 times [2022-02-20 16:37:09,598 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:37:09,599 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [85721592] [2022-02-20 16:37:09,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:09,600 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:37:09,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:37:09,605 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:37:09,606 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:37:09,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:09,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:37:09,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:09,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:37:09,865 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#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(21bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~to_fp~DOUBLE(currentRoundingMode, 1.0); {52#true} is VALID [2022-02-20 16:37:09,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~fp.div~DOUBLE(currentRoundingMode, ~Pluszero~DOUBLE(), ~Pluszero~DOUBLE());call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8bv32);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {52#true} is VALID [2022-02-20 16:37:09,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {52#true} assume !true; {53#false} is VALID [2022-02-20 16:37:09,868 INFO L290 TraceCheckUtils]: 3: Hoare triple {53#false} modf_double_~j0~0#1 := ~bvsub32(~bvand32(2047bv32, ~bvashr32(modf_double_~i0~0#1, 20bv32)), 1023bv32); {53#false} is VALID [2022-02-20 16:37:09,869 INFO L290 TraceCheckUtils]: 4: Hoare triple {53#false} assume ~bvslt32(modf_double_~j0~0#1, 20bv32); {53#false} is VALID [2022-02-20 16:37:09,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {53#false} assume ~bvslt32(modf_double_~j0~0#1, 0bv32); {53#false} is VALID [2022-02-20 16:37:09,870 INFO L290 TraceCheckUtils]: 6: Hoare triple {53#false} assume !true; {53#false} is VALID [2022-02-20 16:37:09,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {53#false} modf_double_#res#1 := modf_double_~x#1; {53#false} is VALID [2022-02-20 16:37:09,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {53#false} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~intFLOATTYPE8(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8bv32); {53#false} is VALID [2022-02-20 16:37:09,871 INFO L272 TraceCheckUtils]: 9: Hoare triple {53#false} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {53#false} is VALID [2022-02-20 16:37:09,871 INFO L290 TraceCheckUtils]: 10: Hoare triple {53#false} ~x := #in~x;#res := (if !~fp.eq~DOUBLE(~x, ~x) then 1bv32 else 0bv32); {53#false} is VALID [2022-02-20 16:37:09,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {53#false} assume true; {53#false} is VALID [2022-02-20 16:37:09,872 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {53#false} {53#false} #177#return; {53#false} is VALID [2022-02-20 16:37:09,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {53#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {53#false} is VALID [2022-02-20 16:37:09,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {53#false} assume !main_#t~short21#1; {53#false} is VALID [2022-02-20 16:37:09,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {53#false} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {53#false} is VALID [2022-02-20 16:37:09,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {53#false} assume !false; {53#false} is VALID [2022-02-20 16:37:09,875 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:37:09,875 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:37:09,875 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:37:09,876 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [85721592] [2022-02-20 16:37:09,876 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [85721592] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:09,876 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:09,877 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:37:09,880 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [126782263] [2022-02-20 16:37:09,881 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:09,886 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 16:37:09,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:09,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:09,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:09,923 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:37:09,924 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:37:09,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:37:09,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:37:09,959 INFO L87 Difference]: Start difference. First operand has 49 states, 44 states have (on average 1.6363636363636365) internal successors, (72), 45 states have internal predecessors, (72), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:10,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:10,604 INFO L93 Difference]: Finished difference Result 96 states and 150 transitions. [2022-02-20 16:37:10,605 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:37:10,605 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-02-20 16:37:10,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:10,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:10,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 150 transitions. [2022-02-20 16:37:10,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:10,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 150 transitions. [2022-02-20 16:37:10,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 150 transitions. [2022-02-20 16:37:11,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:11,139 INFO L225 Difference]: With dead ends: 96 [2022-02-20 16:37:11,140 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 16:37:11,142 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 16 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:37:11,146 INFO L933 BasicCegarLoop]: 55 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, 55 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:37:11,146 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:37:11,160 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 16:37:11,174 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 16:37:11,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:11,175 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:11,176 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:11,177 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:11,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:11,182 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:37:11,183 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:11,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:11,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:11,184 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:11,185 INFO L87 Difference]: Start difference. First operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 46 states. [2022-02-20 16:37:11,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:11,189 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2022-02-20 16:37:11,189 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:11,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:11,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:11,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:11,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:11,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 42 states have internal predecessors, (48), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:11,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-02-20 16:37:11,196 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 17 [2022-02-20 16:37:11,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:11,196 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-02-20 16:37:11,197 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:11,197 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-02-20 16:37:11,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:37:11,200 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:11,200 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:11,214 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:37:11,411 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:37:11,412 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:11,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:11,413 INFO L85 PathProgramCache]: Analyzing trace with hash 634117776, now seen corresponding path program 1 times [2022-02-20 16:37:11,414 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:37:11,414 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [970625314] [2022-02-20 16:37:11,414 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:11,414 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:37:11,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:37:11,416 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:37:11,417 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:37:11,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:11,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 16:37:11,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:11,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:37:12,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {373#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(21bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~to_fp~DOUBLE(currentRoundingMode, 1.0); {373#true} is VALID [2022-02-20 16:37:12,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {373#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~fp.div~DOUBLE(currentRoundingMode, ~Pluszero~DOUBLE(), ~Pluszero~DOUBLE());call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8bv32);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {381#(exists ((currentRoundingMode RoundingMode)) (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))))} is VALID [2022-02-20 16:37:12,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {381#(exists ((currentRoundingMode RoundingMode)) (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))))} call modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(modf_double_~x#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 8bv32);call modf_double_#t~mem4#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, ~bvadd32(4bv32, modf_double_~#ew_u~0#1.offset), 4bv32);modf_double_~i0~0#1 := modf_double_#t~mem4#1;havoc modf_double_#t~mem4#1;call modf_double_#t~mem5#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 4bv32);modf_double_~i1~0#1 := modf_double_#t~mem5#1;havoc modf_double_#t~mem5#1;call ULTIMATE.dealloc(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset);havoc modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset; {385#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) |ULTIMATE.start_modf_double_~i0~0#1|)))} is VALID [2022-02-20 16:37:12,055 INFO L290 TraceCheckUtils]: 3: Hoare triple {385#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) |ULTIMATE.start_modf_double_~i0~0#1|)))} goto; {385#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) |ULTIMATE.start_modf_double_~i0~0#1|)))} is VALID [2022-02-20 16:37:12,073 INFO L290 TraceCheckUtils]: 4: Hoare triple {385#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) |ULTIMATE.start_modf_double_~i0~0#1|)))} modf_double_~j0~0#1 := ~bvsub32(~bvand32(2047bv32, ~bvashr32(modf_double_~i0~0#1, 20bv32)), 1023bv32); {392#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= (bvadd (_ bv4294966273 32) (bvand (_ bv2047 32) (bvashr ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) (_ bv20 32)))) |ULTIMATE.start_modf_double_~j0~0#1|)))} is VALID [2022-02-20 16:37:12,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {392#(exists ((|v_skolemized_q#valueAsBitvector_23| (_ BitVec 64)) (currentRoundingMode RoundingMode)) (and (= (fp ((_ extract 63 63) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 62 52) |v_skolemized_q#valueAsBitvector_23|) ((_ extract 51 0) |v_skolemized_q#valueAsBitvector_23|)) (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= (bvadd (_ bv4294966273 32) (bvand (_ bv2047 32) (bvashr ((_ extract 63 32) |v_skolemized_q#valueAsBitvector_23|) (_ bv20 32)))) |ULTIMATE.start_modf_double_~j0~0#1|)))} assume ~bvslt32(modf_double_~j0~0#1, 20bv32); {374#false} is VALID [2022-02-20 16:37:12,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {374#false} assume ~bvslt32(modf_double_~j0~0#1, 0bv32); {374#false} is VALID [2022-02-20 16:37:12,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {374#false} call modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(~bvand32(2147483648bv32, modf_double_~i0~0#1), modf_double_~#iw_u~0#1.base, ~bvadd32(4bv32, modf_double_~#iw_u~0#1.offset), 4bv32);call write~intINTTYPE4(0bv32, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, 4bv32);call modf_double_#t~mem6#1 := read~intFLOATTYPE8(modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, 8bv32);call write~intFLOATTYPE8(modf_double_#t~mem6#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8bv32);havoc modf_double_#t~mem6#1;call ULTIMATE.dealloc(modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset);havoc modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset; {374#false} is VALID [2022-02-20 16:37:12,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {374#false} goto; {374#false} is VALID [2022-02-20 16:37:12,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {374#false} modf_double_#res#1 := modf_double_~x#1; {374#false} is VALID [2022-02-20 16:37:12,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {374#false} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~intFLOATTYPE8(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8bv32); {374#false} is VALID [2022-02-20 16:37:12,078 INFO L272 TraceCheckUtils]: 11: Hoare triple {374#false} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {374#false} is VALID [2022-02-20 16:37:12,078 INFO L290 TraceCheckUtils]: 12: Hoare triple {374#false} ~x := #in~x;#res := (if !~fp.eq~DOUBLE(~x, ~x) then 1bv32 else 0bv32); {374#false} is VALID [2022-02-20 16:37:12,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {374#false} assume true; {374#false} is VALID [2022-02-20 16:37:12,078 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {374#false} {374#false} #177#return; {374#false} is VALID [2022-02-20 16:37:12,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {374#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {374#false} is VALID [2022-02-20 16:37:12,078 INFO L290 TraceCheckUtils]: 16: Hoare triple {374#false} assume !main_#t~short21#1; {374#false} is VALID [2022-02-20 16:37:12,079 INFO L290 TraceCheckUtils]: 17: Hoare triple {374#false} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {374#false} is VALID [2022-02-20 16:37:12,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {374#false} assume !false; {374#false} is VALID [2022-02-20 16:37:12,079 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:37:12,079 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:37:12,079 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:37:12,079 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [970625314] [2022-02-20 16:37:12,080 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [970625314] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:12,080 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:12,080 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:37:12,080 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257632480] [2022-02-20 16:37:12,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:12,082 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-02-20 16:37:12,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:12,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:12,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:12,121 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:37:12,123 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:37:12,124 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:37:12,124 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:37:12,124 INFO L87 Difference]: Start difference. First operand 46 states and 52 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:13,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:13,268 INFO L93 Difference]: Finished difference Result 58 states and 65 transitions. [2022-02-20 16:37:13,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:37:13,269 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-02-20 16:37:13,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:13,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:13,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 16:37:13,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:13,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 16:37:13,274 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-02-20 16:37:13,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:13,510 INFO L225 Difference]: With dead ends: 58 [2022-02-20 16:37:13,510 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 16:37:13,510 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:37:13,511 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 0 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 17 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:37:13,512 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 116 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 17 Unchecked, 0.0s Time] [2022-02-20 16:37:13,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 16:37:13,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 16:37:13,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:13,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:13,516 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:13,516 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:13,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:13,518 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-02-20 16:37:13,518 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-02-20 16:37:13,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:13,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:13,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-02-20 16:37:13,519 INFO L87 Difference]: Start difference. First operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-02-20 16:37:13,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:13,521 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-02-20 16:37:13,521 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-02-20 16:37:13,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:13,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:13,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:13,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:13,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:13,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-02-20 16:37:13,523 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 19 [2022-02-20 16:37:13,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:13,524 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-02-20 16:37:13,524 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:13,524 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-02-20 16:37:13,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:37:13,525 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:13,525 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:13,544 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:37:13,738 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:37:13,739 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:13,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:13,740 INFO L85 PathProgramCache]: Analyzing trace with hash -992387949, now seen corresponding path program 1 times [2022-02-20 16:37:13,740 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:37:13,741 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1041707906] [2022-02-20 16:37:13,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:13,741 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:37:13,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:37:13,742 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:37:13,745 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 16:37:13,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:13,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 16:37:13,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:13,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:37:13,995 INFO L290 TraceCheckUtils]: 0: Hoare triple {614#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(21bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~to_fp~DOUBLE(currentRoundingMode, 1.0); {614#true} is VALID [2022-02-20 16:37:13,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {614#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~fp.div~DOUBLE(currentRoundingMode, ~Pluszero~DOUBLE(), ~Pluszero~DOUBLE());call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8bv32);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {614#true} is VALID [2022-02-20 16:37:13,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {614#true} call modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(modf_double_~x#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 8bv32);call modf_double_#t~mem4#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, ~bvadd32(4bv32, modf_double_~#ew_u~0#1.offset), 4bv32);modf_double_~i0~0#1 := modf_double_#t~mem4#1;havoc modf_double_#t~mem4#1;call modf_double_#t~mem5#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 4bv32);modf_double_~i1~0#1 := modf_double_#t~mem5#1;havoc modf_double_#t~mem5#1;call ULTIMATE.dealloc(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset);havoc modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset; {614#true} is VALID [2022-02-20 16:37:13,996 INFO L290 TraceCheckUtils]: 3: Hoare triple {614#true} goto; {614#true} is VALID [2022-02-20 16:37:13,997 INFO L290 TraceCheckUtils]: 4: Hoare triple {614#true} modf_double_~j0~0#1 := ~bvsub32(~bvand32(2047bv32, ~bvashr32(modf_double_~i0~0#1, 20bv32)), 1023bv32); {614#true} is VALID [2022-02-20 16:37:13,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {614#true} assume !~bvslt32(modf_double_~j0~0#1, 20bv32); {614#true} is VALID [2022-02-20 16:37:13,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {614#true} assume !~bvsgt32(modf_double_~j0~0#1, 51bv32);modf_double_~i~0#1 := ~bvlshr32(4294967295bv32, ~bvsub32(modf_double_~j0~0#1, 20bv32)); {614#true} is VALID [2022-02-20 16:37:13,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {614#true} assume !(0bv32 == ~bvand32(modf_double_~i1~0#1, modf_double_~i~0#1)); {614#true} is VALID [2022-02-20 16:37:13,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {614#true} call modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(modf_double_~i0~0#1, modf_double_~#iw_u~5#1.base, ~bvadd32(4bv32, modf_double_~#iw_u~5#1.offset), 4bv32);call write~intINTTYPE4(~bvand32(modf_double_~i1~0#1, ~bvnot32(modf_double_~i~0#1)), modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, 4bv32);call modf_double_#t~mem15#1 := read~intFLOATTYPE8(modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, 8bv32);call write~intFLOATTYPE8(modf_double_#t~mem15#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8bv32);havoc modf_double_#t~mem15#1;call ULTIMATE.dealloc(modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset);havoc modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset; {614#true} is VALID [2022-02-20 16:37:13,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {614#true} goto; {614#true} is VALID [2022-02-20 16:37:13,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {614#true} call modf_double_#t~mem16#1 := read~intFLOATTYPE8(modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8bv32);modf_double_#res#1 := ~fp.sub~DOUBLE(currentRoundingMode, modf_double_~x#1, modf_double_#t~mem16#1);havoc modf_double_#t~mem16#1; {614#true} is VALID [2022-02-20 16:37:13,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {614#true} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~intFLOATTYPE8(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8bv32); {614#true} is VALID [2022-02-20 16:37:13,999 INFO L272 TraceCheckUtils]: 12: Hoare triple {614#true} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {614#true} is VALID [2022-02-20 16:37:13,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {614#true} ~x := #in~x;#res := (if !~fp.eq~DOUBLE(~x, ~x) then 1bv32 else 0bv32); {614#true} is VALID [2022-02-20 16:37:13,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {614#true} assume true; {614#true} is VALID [2022-02-20 16:37:13,999 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {614#true} {614#true} #177#return; {614#true} is VALID [2022-02-20 16:37:13,999 INFO L290 TraceCheckUtils]: 16: Hoare triple {614#true} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {614#true} is VALID [2022-02-20 16:37:14,000 INFO L290 TraceCheckUtils]: 17: Hoare triple {614#true} assume !main_#t~short21#1; {670#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:37:14,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {670#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {615#false} is VALID [2022-02-20 16:37:14,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {615#false} assume !false; {615#false} is VALID [2022-02-20 16:37:14,001 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:37:14,001 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:37:14,002 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:37:14,002 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1041707906] [2022-02-20 16:37:14,002 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1041707906] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:14,002 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:14,002 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:37:14,002 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [564351401] [2022-02-20 16:37:14,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:14,003 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2022-02-20 16:37:14,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:14,003 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:14,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:14,069 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:37:14,070 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:37:14,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:37:14,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:37:14,071 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:15,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:15,851 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2022-02-20 16:37:15,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:37:15,851 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2022-02-20 16:37:15,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:15,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:15,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-02-20 16:37:15,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:15,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 38 transitions. [2022-02-20 16:37:15,854 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 38 transitions. [2022-02-20 16:37:16,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:16,020 INFO L225 Difference]: With dead ends: 36 [2022-02-20 16:37:16,020 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 16:37:16,021 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:37:16,022 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 0 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:37:16,022 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:37:16,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 16:37:16,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 16:37:16,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:16,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:16,026 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:16,026 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:16,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:16,028 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2022-02-20 16:37:16,028 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 16:37:16,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:16,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:16,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-02-20 16:37:16,029 INFO L87 Difference]: Start difference. First operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-02-20 16:37:16,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:16,031 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2022-02-20 16:37:16,031 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 16:37:16,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:16,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:16,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:16,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:16,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:16,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2022-02-20 16:37:16,034 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 20 [2022-02-20 16:37:16,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:16,034 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2022-02-20 16:37:16,035 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 16:37:16,035 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 16:37:16,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 16:37:16,035 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:16,036 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:16,054 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:37:16,249 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:37:16,249 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:16,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:16,250 INFO L85 PathProgramCache]: Analyzing trace with hash -1527705995, now seen corresponding path program 1 times [2022-02-20 16:37:16,250 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:37:16,251 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [632821451] [2022-02-20 16:37:16,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:16,251 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:37:16,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:37:16,252 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:37:16,253 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 16:37:16,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:16,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:37:16,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:37:16,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:37:16,621 INFO L356 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2022-02-20 16:37:16,621 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 51 treesize of output 21 [2022-02-20 16:37:16,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {827#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(21bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~to_fp~DOUBLE(currentRoundingMode, 1.0); {832#(= currentRoundingMode roundNearestTiesToEven)} is VALID [2022-02-20 16:37:16,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {832#(= currentRoundingMode roundNearestTiesToEven)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret17#1, main_#t~mem18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset, main_~res~0#1;main_~x~0#1 := ~fp.div~DOUBLE(currentRoundingMode, ~Pluszero~DOUBLE(), ~Pluszero~DOUBLE());call main_~#iptr~0#1.base, main_~#iptr~0#1.offset := #Ultimate.allocOnStack(8bv32);assume { :begin_inline_modf_double } true;modf_double_#in~x#1, modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset := main_~x~0#1, main_~#iptr~0#1.base, main_~#iptr~0#1.offset;havoc modf_double_#res#1;havoc modf_double_#t~mem4#1, modf_double_#t~mem5#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, modf_double_#t~mem6#1, modf_double_~#iw_u~0#1.base, modf_double_~#iw_u~0#1.offset, modf_double_#t~mem7#1, modf_double_~#gh_u~0#1.base, modf_double_~#gh_u~0#1.offset, modf_double_#t~mem8#1, modf_double_~#iw_u~1#1.base, modf_double_~#iw_u~1#1.offset, modf_double_~high~0#1, modf_double_#t~mem9#1, modf_double_~#iw_u~2#1.base, modf_double_~#iw_u~2#1.offset, modf_double_#t~mem10#1, modf_double_#t~mem11#1, modf_double_~#gh_u~1#1.base, modf_double_~#gh_u~1#1.offset, modf_double_#t~mem12#1, modf_double_~#iw_u~3#1.base, modf_double_~#iw_u~3#1.offset, modf_double_~high~1#1, modf_double_#t~mem13#1, modf_double_~#gh_u~2#1.base, modf_double_~#gh_u~2#1.offset, modf_double_#t~mem14#1, modf_double_~#iw_u~4#1.base, modf_double_~#iw_u~4#1.offset, modf_double_~high~2#1, modf_double_#t~mem15#1, modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, modf_double_#t~mem16#1, modf_double_~x#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, modf_double_~i0~0#1, modf_double_~i1~0#1, modf_double_~j0~0#1, modf_double_~i~0#1;modf_double_~x#1 := modf_double_#in~x#1;modf_double_~iptr#1.base, modf_double_~iptr#1.offset := modf_double_#in~iptr#1.base, modf_double_#in~iptr#1.offset;havoc modf_double_~i0~0#1;havoc modf_double_~i1~0#1;havoc modf_double_~j0~0#1;havoc modf_double_~i~0#1; {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} call modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(modf_double_~x#1, modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 8bv32);call modf_double_#t~mem4#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, ~bvadd32(4bv32, modf_double_~#ew_u~0#1.offset), 4bv32);modf_double_~i0~0#1 := modf_double_#t~mem4#1;havoc modf_double_#t~mem4#1;call modf_double_#t~mem5#1 := read~intINTTYPE4(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset, 4bv32);modf_double_~i1~0#1 := modf_double_#t~mem5#1;havoc modf_double_#t~mem5#1;call ULTIMATE.dealloc(modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset);havoc modf_double_~#ew_u~0#1.base, modf_double_~#ew_u~0#1.offset; {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} goto; {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,945 INFO L290 TraceCheckUtils]: 4: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} modf_double_~j0~0#1 := ~bvsub32(~bvand32(2047bv32, ~bvashr32(modf_double_~i0~0#1, 20bv32)), 1023bv32); {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} assume !~bvslt32(modf_double_~j0~0#1, 20bv32); {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} assume !~bvsgt32(modf_double_~j0~0#1, 51bv32);modf_double_~i~0#1 := ~bvlshr32(4294967295bv32, ~bvsub32(modf_double_~j0~0#1, 20bv32)); {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} assume !(0bv32 == ~bvand32(modf_double_~i1~0#1, modf_double_~i~0#1)); {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} call modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(modf_double_~i0~0#1, modf_double_~#iw_u~5#1.base, ~bvadd32(4bv32, modf_double_~#iw_u~5#1.offset), 4bv32);call write~intINTTYPE4(~bvand32(modf_double_~i1~0#1, ~bvnot32(modf_double_~i~0#1)), modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, 4bv32);call modf_double_#t~mem15#1 := read~intFLOATTYPE8(modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset, 8bv32);call write~intFLOATTYPE8(modf_double_#t~mem15#1, modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8bv32);havoc modf_double_#t~mem15#1;call ULTIMATE.dealloc(modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset);havoc modf_double_~#iw_u~5#1.base, modf_double_~#iw_u~5#1.offset; {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} goto; {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} is VALID [2022-02-20 16:37:16,955 INFO L290 TraceCheckUtils]: 10: Hoare triple {836#(and (= |ULTIMATE.start_modf_double_~x#1| (fp.div currentRoundingMode (_ +zero 11 53) (_ +zero 11 53))) (= currentRoundingMode roundNearestTiesToEven))} call modf_double_#t~mem16#1 := read~intFLOATTYPE8(modf_double_~iptr#1.base, modf_double_~iptr#1.offset, 8bv32);modf_double_#res#1 := ~fp.sub~DOUBLE(currentRoundingMode, modf_double_~x#1, modf_double_#t~mem16#1);havoc modf_double_#t~mem16#1; {864#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1)))) |ULTIMATE.start_modf_double_#res#1|))} is VALID [2022-02-20 16:37:16,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {864#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1)))) |ULTIMATE.start_modf_double_#res#1|))} main_#t~ret17#1 := modf_double_#res#1;assume { :end_inline_modf_double } true;main_~res~0#1 := main_#t~ret17#1;havoc main_#t~ret17#1;call main_#t~mem18#1 := read~intFLOATTYPE8(main_~#iptr~0#1.base, main_~#iptr~0#1.offset, 8bv32); {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} is VALID [2022-02-20 16:37:16,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} call main_#t~ret19#1 := isnan_double(main_#t~mem18#1); {827#true} is VALID [2022-02-20 16:37:16,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {827#true} ~x := #in~x;#res := (if !~fp.eq~DOUBLE(~x, ~x) then 1bv32 else 0bv32); {827#true} is VALID [2022-02-20 16:37:16,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {827#true} assume true; {827#true} is VALID [2022-02-20 16:37:16,957 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {827#true} {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} #177#return; {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} is VALID [2022-02-20 16:37:16,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} is VALID [2022-02-20 16:37:16,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} assume main_#t~short21#1; {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} is VALID [2022-02-20 16:37:16,960 INFO L272 TraceCheckUtils]: 18: Hoare triple {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} call main_#t~ret20#1 := isnan_double(main_~res~0#1); {827#true} is VALID [2022-02-20 16:37:16,964 INFO L290 TraceCheckUtils]: 19: Hoare triple {827#true} ~x := #in~x;#res := (if !~fp.eq~DOUBLE(~x, ~x) then 1bv32 else 0bv32); {893#(or (and (= |isnan_double_#res| (_ bv1 32)) (not (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|))) (and (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|) (= |isnan_double_#res| (_ bv0 32))))} is VALID [2022-02-20 16:37:16,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {893#(or (and (= |isnan_double_#res| (_ bv1 32)) (not (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|))) (and (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|) (= |isnan_double_#res| (_ bv0 32))))} assume true; {893#(or (and (= |isnan_double_#res| (_ bv1 32)) (not (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|))) (and (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|) (= |isnan_double_#res| (_ bv0 32))))} is VALID [2022-02-20 16:37:16,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {893#(or (and (= |isnan_double_#res| (_ bv1 32)) (not (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|))) (and (fp.eq |isnan_double_#in~x| |isnan_double_#in~x|) (= |isnan_double_#res| (_ bv0 32))))} {868#(exists ((v_arrayElimCell_1 (_ BitVec 32)) (v_arrayElimCell_2 (_ BitVec 32))) (= |ULTIMATE.start_main_~res~0#1| (fp.sub roundNearestTiesToEven (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)) (fp ((_ extract 63 63) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 62 52) (concat v_arrayElimCell_2 v_arrayElimCell_1)) ((_ extract 51 0) (concat v_arrayElimCell_2 v_arrayElimCell_1))))))} #179#return; {900#(= |ULTIMATE.start_main_#t~ret20#1| (_ bv1 32))} is VALID [2022-02-20 16:37:16,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {900#(= |ULTIMATE.start_main_#t~ret20#1| (_ bv1 32))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {904#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:37:16,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {904#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1;havoc main_#t~mem18#1;havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {828#false} is VALID [2022-02-20 16:37:16,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {828#false} assume !false; {828#false} is VALID [2022-02-20 16:37:16,971 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:37:16,971 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:37:16,971 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:37:16,971 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [632821451] [2022-02-20 16:37:16,972 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [632821451] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:37:16,972 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:37:16,972 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 16:37:16,972 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1396095763] [2022-02-20 16:37:16,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:37:16,973 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 25 [2022-02-20 16:37:16,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:37:16,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 16:37:17,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:37:17,029 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 16:37:17,029 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:37:17,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 16:37:17,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:37:17,030 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 16:37:20,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:20,368 INFO L93 Difference]: Finished difference Result 42 states and 45 transitions. [2022-02-20 16:37:20,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:37:20,368 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 25 [2022-02-20 16:37:20,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:37:20,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 16:37:20,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 16:37:20,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 16:37:20,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 16:37:20,373 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2022-02-20 16:37:20,573 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 16:37:20,574 INFO L225 Difference]: With dead ends: 42 [2022-02-20 16:37:20,574 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 16:37:20,575 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 16:37:20,576 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 30 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 28 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:37:20,576 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 149 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 28 Unchecked, 2.3s Time] [2022-02-20 16:37:20,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 16:37:20,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 16:37:20,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:37:20,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:20,579 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:20,579 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:20,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:20,581 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 16:37:20,581 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 16:37:20,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:20,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:20,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 30 states. [2022-02-20 16:37:20,582 INFO L87 Difference]: Start difference. First operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 30 states. [2022-02-20 16:37:20,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:37:20,591 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 16:37:20,591 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 16:37:20,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:37:20,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:37:20,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:37:20,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:37:20,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 26 states have (on average 1.0384615384615385) internal successors, (27), 26 states have internal predecessors, (27), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 16:37:20,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 16:37:20,594 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 25 [2022-02-20 16:37:20,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:37:20,595 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 16:37:20,595 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 16:37:20,595 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 16:37:20,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 16:37:20,596 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:37:20,596 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:37:20,607 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 16:37:20,799 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:37:20,800 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:37:20,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:37:20,800 INFO L85 PathProgramCache]: Analyzing trace with hash -1271287075, now seen corresponding path program 1 times [2022-02-20 16:37:20,800 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:37:20,801 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1491204785] [2022-02-20 16:37:20,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:37:20,801 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:37:20,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:37:20,802 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:37:20,803 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 16:37:21,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:37:21,130 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:37:21,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:37:21,488 INFO L138 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2022-02-20 16:37:21,489 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:37:21,490 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:37:21,517 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 16:37:21,692 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:37:21,695 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 16:37:21,697 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:37:21,722 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret19 := isnan_double(#t~mem18); [2022-02-20 16:37:21,722 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) 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:37:21,725 INFO L158 Benchmark]: Toolchain (without parser) took 14569.76ms. Allocated memory was 54.5MB in the beginning and 67.1MB in the end (delta: 12.6MB). Free memory was 30.9MB in the beginning and 46.6MB in the end (delta: -15.6MB). Peak memory consumption was 20.5MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,725 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 54.5MB. Free memory was 36.2MB in the beginning and 36.1MB in the end (delta: 46.3kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:37:21,726 INFO L158 Benchmark]: CACSL2BoogieTranslator took 302.33ms. Allocated memory was 54.5MB in the beginning and 67.1MB in the end (delta: 12.6MB). Free memory was 30.7MB in the beginning and 47.3MB in the end (delta: -16.7MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,726 INFO L158 Benchmark]: Boogie Procedure Inliner took 44.33ms. Allocated memory is still 67.1MB. Free memory was 47.2MB in the beginning and 44.7MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,726 INFO L158 Benchmark]: Boogie Preprocessor took 44.38ms. Allocated memory is still 67.1MB. Free memory was 44.7MB in the beginning and 42.3MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,727 INFO L158 Benchmark]: RCFGBuilder took 1916.22ms. Allocated memory is still 67.1MB. Free memory was 42.1MB in the beginning and 35.6MB in the end (delta: 6.5MB). Peak memory consumption was 12.8MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,727 INFO L158 Benchmark]: TraceAbstraction took 12255.20ms. Allocated memory is still 67.1MB. Free memory was 35.1MB in the beginning and 46.6MB in the end (delta: -11.5MB). Peak memory consumption was 12.3MB. Max. memory is 16.1GB. [2022-02-20 16:37:21,728 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.11ms. Allocated memory is still 54.5MB. Free memory was 36.2MB in the beginning and 36.1MB in the end (delta: 46.3kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 302.33ms. Allocated memory was 54.5MB in the beginning and 67.1MB in the end (delta: 12.6MB). Free memory was 30.7MB in the beginning and 47.3MB in the end (delta: -16.7MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 44.33ms. Allocated memory is still 67.1MB. Free memory was 47.2MB in the beginning and 44.7MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 44.38ms. Allocated memory is still 67.1MB. Free memory was 44.7MB in the beginning and 42.3MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 1916.22ms. Allocated memory is still 67.1MB. Free memory was 42.1MB in the beginning and 35.6MB in the end (delta: 6.5MB). Peak memory consumption was 12.8MB. Max. memory is 16.1GB. * TraceAbstraction took 12255.20ms. Allocated memory is still 67.1MB. Free memory was 35.1MB in the beginning and 46.6MB in the end (delta: -11.5MB). Peak memory consumption was 12.3MB. 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 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:37:21,774 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: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator