./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/float-newlib/float_req_bl_1231.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/float_req_bl_1231.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 7acfe881669b731d03fc8aee9db955b71d947923db9c9de4e28fcb386b44b191 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:46:41,435 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:46:41,438 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:46:41,473 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:46:41,474 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:46:41,477 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:46:41,478 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:46:41,480 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:46:41,482 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:46:41,485 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:46:41,486 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:46:41,487 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:46:41,487 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:46:41,489 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:46:41,490 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:46:41,492 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:46:41,493 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:46:41,494 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:46:41,496 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:46:41,500 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:46:41,501 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:46:41,502 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:46:41,503 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:46:41,503 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:46:41,508 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:46:41,508 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:46:41,509 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:46:41,510 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:46:41,510 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:46:41,511 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:46:41,511 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:46:41,512 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:46:41,513 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:46:41,514 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:46:41,515 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:46:41,515 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:46:41,516 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:46:41,516 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:46:41,516 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:46:41,517 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:46:41,517 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:46:41,519 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:46:41,543 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:46:41,543 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:46:41,544 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:46:41,544 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:46:41,545 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:46:41,545 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:46:41,545 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:46:41,546 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:46:41,546 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:46:41,546 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:46:41,547 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:46:41,548 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:46:41,548 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:46:41,549 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:46:41,549 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:46:41,549 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:46:41,549 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:46:41,549 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:46:41,549 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:46:41,550 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:46:41,550 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:46:41,550 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:46:41,550 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:46:41,550 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 -> 7acfe881669b731d03fc8aee9db955b71d947923db9c9de4e28fcb386b44b191 [2022-02-20 16:46:41,707 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:46:41,721 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:46:41,723 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:46:41,724 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:46:41,724 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:46:41,725 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/float_req_bl_1231.c [2022-02-20 16:46:41,779 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bb3522044/87dd2783c5464d84aceac08e6b03f2b0/FLAG095da9f1f [2022-02-20 16:46:42,129 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:46:42,130 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/float_req_bl_1231.c [2022-02-20 16:46:42,137 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bb3522044/87dd2783c5464d84aceac08e6b03f2b0/FLAG095da9f1f [2022-02-20 16:46:42,151 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bb3522044/87dd2783c5464d84aceac08e6b03f2b0 [2022-02-20 16:46:42,152 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:46:42,153 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:46:42,156 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:46:42,156 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:46:42,158 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:46:42,159 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,160 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ed28610 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42, skipping insertion in model container [2022-02-20 16:46:42,160 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,165 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:46:42,177 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:46:42,310 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/float_req_bl_1231.c[1835,1848] [2022-02-20 16:46:42,313 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/float_req_bl_1231.c[1994,2007] [2022-02-20 16:46:42,313 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:46:42,318 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:46:42,334 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/float_req_bl_1231.c[1835,1848] [2022-02-20 16:46:42,335 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/float_req_bl_1231.c[1994,2007] [2022-02-20 16:46:42,335 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:46:42,345 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:46:42,345 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42 WrapperNode [2022-02-20 16:46:42,345 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:46:42,346 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:46:42,346 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:46:42,346 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:46:42,351 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:46:42" (1/1) ... [2022-02-20 16:46:42,356 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:46:42" (1/1) ... [2022-02-20 16:46:42,372 INFO L137 Inliner]: procedures = 19, calls = 26, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 107 [2022-02-20 16:46:42,373 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:46:42,374 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:46:42,374 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:46:42,374 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:46:42,379 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,380 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,381 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,382 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,387 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,390 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,391 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,392 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:46:42,393 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:46:42,393 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:46:42,393 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:46:42,394 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (1/1) ... [2022-02-20 16:46:42,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:46:42,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:46:42,419 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:46:42,424 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:46:42,445 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:46:42,446 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:46:42,446 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:46:42,446 INFO L130 BoogieDeclarations]: Found specification of procedure __fpclassify_float [2022-02-20 16:46:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure __fpclassify_float [2022-02-20 16:46:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2022-02-20 16:46:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2022-02-20 16:46:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2022-02-20 16:46:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:46:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:46:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:46:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:46:42,522 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:46:42,523 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:46:42,723 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:46:42,738 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:46:42,738 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 16:46:42,740 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:46:42 BoogieIcfgContainer [2022-02-20 16:46:42,740 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:46:42,741 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:46:42,741 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:46:42,744 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:46:42,745 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:46:42" (1/3) ... [2022-02-20 16:46:42,746 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@118a16b2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:46:42, skipping insertion in model container [2022-02-20 16:46:42,747 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:42" (2/3) ... [2022-02-20 16:46:42,747 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@118a16b2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:46:42, skipping insertion in model container [2022-02-20 16:46:42,747 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:46:42" (3/3) ... [2022-02-20 16:46:42,748 INFO L111 eAbstractionObserver]: Analyzing ICFG float_req_bl_1231.c [2022-02-20 16:46:42,756 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:46:42,759 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2022-02-20 16:46:42,821 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:46:42,832 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:46:42,833 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 16:46:42,854 INFO L276 IsEmpty]: Start isEmpty. Operand has 57 states, 42 states have (on average 1.4523809523809523) internal successors, (61), 44 states have internal predecessors, (61), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:42,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 16:46:42,862 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:42,862 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, 1, 1] [2022-02-20 16:46:42,863 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:42,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:42,867 INFO L85 PathProgramCache]: Analyzing trace with hash -625969503, now seen corresponding path program 1 times [2022-02-20 16:46:42,875 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:42,876 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978663972] [2022-02-20 16:46:42,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:42,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:42,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,052 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:46:43,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,063 INFO L290 TraceCheckUtils]: 0: Hoare triple {60#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {60#true} is VALID [2022-02-20 16:46:43,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {60#true} assume true; {60#true} is VALID [2022-02-20 16:46:43,064 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60#true} {60#true} #131#return; {60#true} is VALID [2022-02-20 16:46:43,075 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 16:46:43,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,102 INFO L290 TraceCheckUtils]: 0: Hoare triple {75#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {60#true} is VALID [2022-02-20 16:46:43,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {60#true} assume !true; {61#false} is VALID [2022-02-20 16:46:43,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {61#false} assume 0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296;#res := 2; {61#false} is VALID [2022-02-20 16:46:43,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {61#false} assume true; {61#false} is VALID [2022-02-20 16:46:43,105 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {61#false} {61#false} #139#return; {61#false} is VALID [2022-02-20 16:46:43,106 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 16:46:43,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {60#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {60#true} is VALID [2022-02-20 16:46:43,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {60#true} assume true; {60#true} is VALID [2022-02-20 16:46:43,121 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60#true} {61#false} #143#return; {61#false} is VALID [2022-02-20 16:46:43,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {60#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(20, 2);call #Ultimate.allocInit(12, 3); {60#true} is VALID [2022-02-20 16:46:43,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {60#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {60#true} is VALID [2022-02-20 16:46:43,122 INFO L272 TraceCheckUtils]: 2: Hoare triple {60#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {60#true} is VALID [2022-02-20 16:46:43,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {60#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {60#true} is VALID [2022-02-20 16:46:43,122 INFO L290 TraceCheckUtils]: 4: Hoare triple {60#true} assume true; {60#true} is VALID [2022-02-20 16:46:43,123 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {60#true} {60#true} #131#return; {60#true} is VALID [2022-02-20 16:46:43,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {60#true} assume -2147483648 <= main_#t~ret11#1 && main_#t~ret11#1 <= 2147483647;main_#t~short13#1 := 0 != main_#t~ret11#1; {60#true} is VALID [2022-02-20 16:46:43,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {60#true} assume !main_#t~short13#1; {65#(not |ULTIMATE.start_main_#t~short13#1|)} is VALID [2022-02-20 16:46:43,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {65#(not |ULTIMATE.start_main_#t~short13#1|)} main_#t~short17#1 := main_#t~short13#1; {66#(not |ULTIMATE.start_main_#t~short17#1|)} is VALID [2022-02-20 16:46:43,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {66#(not |ULTIMATE.start_main_#t~short17#1|)} assume main_#t~short17#1; {61#false} is VALID [2022-02-20 16:46:43,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {61#false} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {61#false} is VALID [2022-02-20 16:46:43,127 INFO L272 TraceCheckUtils]: 11: Hoare triple {61#false} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {75#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:46:43,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {75#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {60#true} is VALID [2022-02-20 16:46:43,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {60#true} assume !true; {61#false} is VALID [2022-02-20 16:46:43,128 INFO L290 TraceCheckUtils]: 14: Hoare triple {61#false} assume 0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296;#res := 2; {61#false} is VALID [2022-02-20 16:46:43,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {61#false} assume true; {61#false} is VALID [2022-02-20 16:46:43,128 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {61#false} {61#false} #139#return; {61#false} is VALID [2022-02-20 16:46:43,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {61#false} assume -2147483648 <= fmin_float_#t~ret5#1 && fmin_float_#t~ret5#1 <= 2147483647; {61#false} is VALID [2022-02-20 16:46:43,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {61#false} assume 0 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {61#false} is VALID [2022-02-20 16:46:43,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {61#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {61#false} is VALID [2022-02-20 16:46:43,130 INFO L272 TraceCheckUtils]: 20: Hoare triple {61#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {60#true} is VALID [2022-02-20 16:46:43,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {60#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {60#true} is VALID [2022-02-20 16:46:43,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {60#true} assume true; {60#true} is VALID [2022-02-20 16:46:43,130 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {60#true} {61#false} #143#return; {61#false} is VALID [2022-02-20 16:46:43,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {61#false} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {61#false} is VALID [2022-02-20 16:46:43,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {61#false} assume !main_#t~short21#1; {61#false} is VALID [2022-02-20 16:46:43,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {61#false} assume main_#t~short21#1 && ~someBinaryFLOATComparisonOperation(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {61#false} is VALID [2022-02-20 16:46:43,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {61#false} assume !false; {61#false} is VALID [2022-02-20 16:46:43,132 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:43,133 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:46:43,133 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978663972] [2022-02-20 16:46:43,134 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1978663972] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:43,134 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:43,135 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:46:43,137 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [791333450] [2022-02-20 16:46:43,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:43,142 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 16:46:43,144 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:43,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:43,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:43,183 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:46:43,183 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:46:43,203 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:46:43,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:43,206 INFO L87 Difference]: Start difference. First operand has 57 states, 42 states have (on average 1.4523809523809523) internal successors, (61), 44 states have internal predecessors, (61), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:43,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:43,602 INFO L93 Difference]: Finished difference Result 108 states and 156 transitions. [2022-02-20 16:46:43,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:46:43,602 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 16:46:43,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:43,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:43,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2022-02-20 16:46:43,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:43,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2022-02-20 16:46:43,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 156 transitions. [2022-02-20 16:46:43,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:43,729 INFO L225 Difference]: With dead ends: 108 [2022-02-20 16:46:43,730 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 16:46:43,732 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:46:43,734 INFO L933 BasicCegarLoop]: 78 mSDtfsCounter, 19 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:43,735 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 245 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:46:43,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 16:46:43,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 55. [2022-02-20 16:46:43,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:43,758 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:43,759 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:43,759 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:43,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:43,764 INFO L93 Difference]: Finished difference Result 62 states and 84 transitions. [2022-02-20 16:46:43,765 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 84 transitions. [2022-02-20 16:46:43,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:43,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:43,766 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-02-20 16:46:43,766 INFO L87 Difference]: Start difference. First operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-02-20 16:46:43,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:43,770 INFO L93 Difference]: Finished difference Result 62 states and 84 transitions. [2022-02-20 16:46:43,770 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 84 transitions. [2022-02-20 16:46:43,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:43,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:43,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:43,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:43,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:43,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 74 transitions. [2022-02-20 16:46:43,776 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 74 transitions. Word has length 28 [2022-02-20 16:46:43,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:43,776 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 74 transitions. [2022-02-20 16:46:43,777 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:43,777 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 74 transitions. [2022-02-20 16:46:43,778 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 16:46:43,778 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:43,778 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:43,778 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:46:43,779 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:43,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:43,779 INFO L85 PathProgramCache]: Analyzing trace with hash 716059, now seen corresponding path program 1 times [2022-02-20 16:46:43,779 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:43,780 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [960417464] [2022-02-20 16:46:43,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:43,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:43,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:46:43,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,835 INFO L290 TraceCheckUtils]: 0: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,835 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {409#true} {409#true} #131#return; {409#true} is VALID [2022-02-20 16:46:43,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 16:46:43,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,840 INFO L290 TraceCheckUtils]: 0: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,840 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {409#true} {409#true} #133#return; {409#true} is VALID [2022-02-20 16:46:43,847 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:46:43,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {427#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {409#true} is VALID [2022-02-20 16:46:43,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {409#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {409#true} is VALID [2022-02-20 16:46:43,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {409#true} goto; {409#true} is VALID [2022-02-20 16:46:43,879 INFO L290 TraceCheckUtils]: 3: Hoare triple {409#true} assume 0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296;#res := 2; {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} is VALID [2022-02-20 16:46:43,881 INFO L290 TraceCheckUtils]: 4: Hoare triple {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} assume true; {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} is VALID [2022-02-20 16:46:43,882 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} {409#true} #139#return; {423#(= (+ (- 2) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:43,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 16:46:43,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:43,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,890 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {409#true} {410#false} #143#return; {410#false} is VALID [2022-02-20 16:46:43,890 INFO L290 TraceCheckUtils]: 0: Hoare triple {409#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(20, 2);call #Ultimate.allocInit(12, 3); {409#true} is VALID [2022-02-20 16:46:43,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {409#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {409#true} is VALID [2022-02-20 16:46:43,891 INFO L272 TraceCheckUtils]: 2: Hoare triple {409#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {409#true} is VALID [2022-02-20 16:46:43,891 INFO L290 TraceCheckUtils]: 3: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,891 INFO L290 TraceCheckUtils]: 4: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,891 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {409#true} {409#true} #131#return; {409#true} is VALID [2022-02-20 16:46:43,891 INFO L290 TraceCheckUtils]: 6: Hoare triple {409#true} assume -2147483648 <= main_#t~ret11#1 && main_#t~ret11#1 <= 2147483647;main_#t~short13#1 := 0 != main_#t~ret11#1; {409#true} is VALID [2022-02-20 16:46:43,892 INFO L290 TraceCheckUtils]: 7: Hoare triple {409#true} assume main_#t~short13#1; {409#true} is VALID [2022-02-20 16:46:43,908 INFO L272 TraceCheckUtils]: 8: Hoare triple {409#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {409#true} is VALID [2022-02-20 16:46:43,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,908 INFO L290 TraceCheckUtils]: 10: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,908 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {409#true} {409#true} #133#return; {409#true} is VALID [2022-02-20 16:46:43,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {409#true} assume -2147483648 <= main_#t~ret12#1 && main_#t~ret12#1 <= 2147483647;main_#t~short13#1 := 0 == main_#t~ret12#1; {409#true} is VALID [2022-02-20 16:46:43,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {409#true} main_#t~short17#1 := main_#t~short13#1; {409#true} is VALID [2022-02-20 16:46:43,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {409#true} assume main_#t~short17#1; {409#true} is VALID [2022-02-20 16:46:43,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {409#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {409#true} is VALID [2022-02-20 16:46:43,910 INFO L272 TraceCheckUtils]: 16: Hoare triple {409#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {427#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:46:43,910 INFO L290 TraceCheckUtils]: 17: Hoare triple {427#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {409#true} is VALID [2022-02-20 16:46:43,910 INFO L290 TraceCheckUtils]: 18: Hoare triple {409#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {409#true} is VALID [2022-02-20 16:46:43,910 INFO L290 TraceCheckUtils]: 19: Hoare triple {409#true} goto; {409#true} is VALID [2022-02-20 16:46:43,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {409#true} assume 0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296;#res := 2; {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} is VALID [2022-02-20 16:46:43,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} assume true; {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} is VALID [2022-02-20 16:46:43,915 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {428#(and (<= |__fpclassify_float_#res| 2) (<= 2 |__fpclassify_float_#res|))} {409#true} #139#return; {423#(= (+ (- 2) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:43,916 INFO L290 TraceCheckUtils]: 23: Hoare triple {423#(= (+ (- 2) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} assume -2147483648 <= fmin_float_#t~ret5#1 && fmin_float_#t~ret5#1 <= 2147483647; {423#(= (+ (- 2) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:43,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {423#(= (+ (- 2) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} assume 0 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {410#false} is VALID [2022-02-20 16:46:43,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {410#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {410#false} is VALID [2022-02-20 16:46:43,917 INFO L272 TraceCheckUtils]: 26: Hoare triple {410#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {409#true} is VALID [2022-02-20 16:46:43,917 INFO L290 TraceCheckUtils]: 27: Hoare triple {409#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {409#true} is VALID [2022-02-20 16:46:43,917 INFO L290 TraceCheckUtils]: 28: Hoare triple {409#true} assume true; {409#true} is VALID [2022-02-20 16:46:43,917 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {409#true} {410#false} #143#return; {410#false} is VALID [2022-02-20 16:46:43,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {410#false} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {410#false} is VALID [2022-02-20 16:46:43,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {410#false} assume !main_#t~short21#1; {410#false} is VALID [2022-02-20 16:46:43,918 INFO L290 TraceCheckUtils]: 32: Hoare triple {410#false} assume main_#t~short21#1 && ~someBinaryFLOATComparisonOperation(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {410#false} is VALID [2022-02-20 16:46:43,918 INFO L290 TraceCheckUtils]: 33: Hoare triple {410#false} assume !false; {410#false} is VALID [2022-02-20 16:46:43,918 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:46:43,918 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:46:43,918 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [960417464] [2022-02-20 16:46:43,919 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [960417464] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:43,919 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:43,919 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:46:43,919 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1913116197] [2022-02-20 16:46:43,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:43,920 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-02-20 16:46:43,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:43,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:43,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:43,944 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:46:43,944 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:46:43,945 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:46:43,945 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:43,945 INFO L87 Difference]: Start difference. First operand 55 states and 74 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,176 INFO L93 Difference]: Finished difference Result 79 states and 104 transitions. [2022-02-20 16:46:44,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:46:44,176 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-02-20 16:46:44,177 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:44,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:44,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:44,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 102 transitions. [2022-02-20 16:46:44,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:44,264 INFO L225 Difference]: With dead ends: 79 [2022-02-20 16:46:44,264 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 16:46:44,267 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:44,268 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 3 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 227 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:44,268 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 227 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:46:44,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 16:46:44,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2022-02-20 16:46:44,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:44,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,274 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,274 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,280 INFO L93 Difference]: Finished difference Result 59 states and 79 transitions. [2022-02-20 16:46:44,281 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 79 transitions. [2022-02-20 16:46:44,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:44,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:44,288 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:44,289 INFO L87 Difference]: Start difference. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:44,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,293 INFO L93 Difference]: Finished difference Result 59 states and 79 transitions. [2022-02-20 16:46:44,293 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 79 transitions. [2022-02-20 16:46:44,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:44,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:44,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:44,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:44,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 79 transitions. [2022-02-20 16:46:44,297 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 79 transitions. Word has length 34 [2022-02-20 16:46:44,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:44,297 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 79 transitions. [2022-02-20 16:46:44,297 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,297 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 79 transitions. [2022-02-20 16:46:44,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:46:44,298 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:44,298 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:44,299 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:46:44,299 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:44,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:44,299 INFO L85 PathProgramCache]: Analyzing trace with hash 840977401, now seen corresponding path program 1 times [2022-02-20 16:46:44,299 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:44,300 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1044287134] [2022-02-20 16:46:44,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:44,300 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:44,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,339 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:46:44,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,344 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {721#true} {721#true} #131#return; {721#true} is VALID [2022-02-20 16:46:44,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 16:46:44,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,348 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {721#true} {721#true} #133#return; {721#true} is VALID [2022-02-20 16:46:44,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:46:44,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {740#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {721#true} is VALID [2022-02-20 16:46:44,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {721#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {721#true} is VALID [2022-02-20 16:46:44,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {721#true} goto; {721#true} is VALID [2022-02-20 16:46:44,374 INFO L290 TraceCheckUtils]: 3: Hoare triple {721#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {721#true} is VALID [2022-02-20 16:46:44,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {721#true} assume (~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687);#res := 4; {741#(= |__fpclassify_float_#res| 4)} is VALID [2022-02-20 16:46:44,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {741#(= |__fpclassify_float_#res| 4)} assume true; {741#(= |__fpclassify_float_#res| 4)} is VALID [2022-02-20 16:46:44,376 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {741#(= |__fpclassify_float_#res| 4)} {721#true} #139#return; {736#(<= 4 |ULTIMATE.start_fmin_float_#t~ret5#1|)} is VALID [2022-02-20 16:46:44,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-02-20 16:46:44,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,380 INFO L290 TraceCheckUtils]: 0: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,381 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {721#true} {722#false} #143#return; {722#false} is VALID [2022-02-20 16:46:44,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {721#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(20, 2);call #Ultimate.allocInit(12, 3); {721#true} is VALID [2022-02-20 16:46:44,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {721#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {721#true} is VALID [2022-02-20 16:46:44,392 INFO L272 TraceCheckUtils]: 2: Hoare triple {721#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {721#true} is VALID [2022-02-20 16:46:44,392 INFO L290 TraceCheckUtils]: 3: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,392 INFO L290 TraceCheckUtils]: 4: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,393 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {721#true} {721#true} #131#return; {721#true} is VALID [2022-02-20 16:46:44,393 INFO L290 TraceCheckUtils]: 6: Hoare triple {721#true} assume -2147483648 <= main_#t~ret11#1 && main_#t~ret11#1 <= 2147483647;main_#t~short13#1 := 0 != main_#t~ret11#1; {721#true} is VALID [2022-02-20 16:46:44,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {721#true} assume main_#t~short13#1; {721#true} is VALID [2022-02-20 16:46:44,394 INFO L272 TraceCheckUtils]: 8: Hoare triple {721#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {721#true} is VALID [2022-02-20 16:46:44,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,394 INFO L290 TraceCheckUtils]: 10: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,395 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {721#true} {721#true} #133#return; {721#true} is VALID [2022-02-20 16:46:44,396 INFO L290 TraceCheckUtils]: 12: Hoare triple {721#true} assume -2147483648 <= main_#t~ret12#1 && main_#t~ret12#1 <= 2147483647;main_#t~short13#1 := 0 == main_#t~ret12#1; {721#true} is VALID [2022-02-20 16:46:44,397 INFO L290 TraceCheckUtils]: 13: Hoare triple {721#true} main_#t~short17#1 := main_#t~short13#1; {721#true} is VALID [2022-02-20 16:46:44,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {721#true} assume main_#t~short17#1; {721#true} is VALID [2022-02-20 16:46:44,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {721#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {721#true} is VALID [2022-02-20 16:46:44,408 INFO L272 TraceCheckUtils]: 16: Hoare triple {721#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {740#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:46:44,408 INFO L290 TraceCheckUtils]: 17: Hoare triple {740#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {721#true} is VALID [2022-02-20 16:46:44,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {721#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {721#true} is VALID [2022-02-20 16:46:44,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {721#true} goto; {721#true} is VALID [2022-02-20 16:46:44,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {721#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {721#true} is VALID [2022-02-20 16:46:44,409 INFO L290 TraceCheckUtils]: 21: Hoare triple {721#true} assume (~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687);#res := 4; {741#(= |__fpclassify_float_#res| 4)} is VALID [2022-02-20 16:46:44,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {741#(= |__fpclassify_float_#res| 4)} assume true; {741#(= |__fpclassify_float_#res| 4)} is VALID [2022-02-20 16:46:44,410 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {741#(= |__fpclassify_float_#res| 4)} {721#true} #139#return; {736#(<= 4 |ULTIMATE.start_fmin_float_#t~ret5#1|)} is VALID [2022-02-20 16:46:44,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {736#(<= 4 |ULTIMATE.start_fmin_float_#t~ret5#1|)} assume -2147483648 <= fmin_float_#t~ret5#1 && fmin_float_#t~ret5#1 <= 2147483647; {736#(<= 4 |ULTIMATE.start_fmin_float_#t~ret5#1|)} is VALID [2022-02-20 16:46:44,410 INFO L290 TraceCheckUtils]: 25: Hoare triple {736#(<= 4 |ULTIMATE.start_fmin_float_#t~ret5#1|)} assume 0 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 26: Hoare triple {722#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L272 TraceCheckUtils]: 27: Hoare triple {722#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {721#true} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 28: Hoare triple {721#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {721#true} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 29: Hoare triple {721#true} assume true; {721#true} is VALID [2022-02-20 16:46:44,411 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {721#true} {722#false} #143#return; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 31: Hoare triple {722#false} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 32: Hoare triple {722#false} assume !main_#t~short21#1; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 33: Hoare triple {722#false} assume main_#t~short21#1 && ~someBinaryFLOATComparisonOperation(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L290 TraceCheckUtils]: 34: Hoare triple {722#false} assume !false; {722#false} is VALID [2022-02-20 16:46:44,411 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:46:44,412 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:46:44,412 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1044287134] [2022-02-20 16:46:44,412 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1044287134] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:44,412 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:44,412 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:46:44,412 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [406833527] [2022-02-20 16:46:44,412 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:44,412 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 16:46:44,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:44,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:44,429 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:46:44,429 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:46:44,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:46:44,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:44,430 INFO L87 Difference]: Start difference. First operand 59 states and 79 transitions. Second operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,626 INFO L93 Difference]: Finished difference Result 83 states and 109 transitions. [2022-02-20 16:46:44,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:46:44,626 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 16:46:44,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:44,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:44,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:44,630 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 102 transitions. [2022-02-20 16:46:44,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:44,688 INFO L225 Difference]: With dead ends: 83 [2022-02-20 16:46:44,688 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 16:46:44,689 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:44,689 INFO L933 BasicCegarLoop]: 74 mSDtfsCounter, 3 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:44,690 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 243 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:46:44,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 16:46:44,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-02-20 16:46:44,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:44,694 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,695 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,695 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,697 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2022-02-20 16:46:44,697 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2022-02-20 16:46:44,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:44,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:44,698 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 63 states. [2022-02-20 16:46:44,699 INFO L87 Difference]: Start difference. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 63 states. [2022-02-20 16:46:44,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:44,701 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2022-02-20 16:46:44,701 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2022-02-20 16:46:44,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:44,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:44,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:44,702 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:44,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:44,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 79 transitions. [2022-02-20 16:46:44,704 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 79 transitions. Word has length 35 [2022-02-20 16:46:44,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:44,704 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 79 transitions. [2022-02-20 16:46:44,704 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,705 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 79 transitions. [2022-02-20 16:46:44,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 16:46:44,705 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:44,705 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:44,706 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:46:44,706 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:44,706 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:44,706 INFO L85 PathProgramCache]: Analyzing trace with hash -902959273, now seen corresponding path program 1 times [2022-02-20 16:46:44,706 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:44,706 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [313074464] [2022-02-20 16:46:44,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:44,707 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:44,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:46:44,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,750 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1046#true} {1046#true} #131#return; {1046#true} is VALID [2022-02-20 16:46:44,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 16:46:44,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,753 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1046#true} {1046#true} #133#return; {1046#true} is VALID [2022-02-20 16:46:44,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:46:44,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {1066#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {1046#true} is VALID [2022-02-20 16:46:44,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {1046#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1046#true} is VALID [2022-02-20 16:46:44,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {1046#true} goto; {1046#true} is VALID [2022-02-20 16:46:44,784 INFO L290 TraceCheckUtils]: 3: Hoare triple {1046#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {1046#true} is VALID [2022-02-20 16:46:44,784 INFO L290 TraceCheckUtils]: 4: Hoare triple {1046#true} assume !((~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687)); {1046#true} is VALID [2022-02-20 16:46:44,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {1046#true} assume (~w~0 % 4294967296 >= 1 && ~w~0 % 4294967296 <= 8388607) || (~w~0 % 4294967296 >= 2147483649 && ~w~0 % 4294967296 <= 2155872255);#res := 3; {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} is VALID [2022-02-20 16:46:44,789 INFO L290 TraceCheckUtils]: 6: Hoare triple {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} assume true; {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} is VALID [2022-02-20 16:46:44,790 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} {1046#true} #139#return; {1062#(= (+ (- 3) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:44,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-20 16:46:44,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1046#true} {1047#false} #143#return; {1047#false} is VALID [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {1046#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(20, 2);call #Ultimate.allocInit(12, 3); {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {1046#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L272 TraceCheckUtils]: 2: Hoare triple {1046#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L290 TraceCheckUtils]: 4: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,795 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1046#true} {1046#true} #131#return; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {1046#true} assume -2147483648 <= main_#t~ret11#1 && main_#t~ret11#1 <= 2147483647;main_#t~short13#1 := 0 != main_#t~ret11#1; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {1046#true} assume main_#t~short13#1; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L272 TraceCheckUtils]: 8: Hoare triple {1046#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 10: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1046#true} {1046#true} #133#return; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {1046#true} assume -2147483648 <= main_#t~ret12#1 && main_#t~ret12#1 <= 2147483647;main_#t~short13#1 := 0 == main_#t~ret12#1; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {1046#true} main_#t~short17#1 := main_#t~short13#1; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {1046#true} assume main_#t~short17#1; {1046#true} is VALID [2022-02-20 16:46:44,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {1046#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {1046#true} is VALID [2022-02-20 16:46:44,797 INFO L272 TraceCheckUtils]: 16: Hoare triple {1046#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {1066#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:46:44,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {1066#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {1046#true} is VALID [2022-02-20 16:46:44,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {1046#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1046#true} is VALID [2022-02-20 16:46:44,801 INFO L290 TraceCheckUtils]: 19: Hoare triple {1046#true} goto; {1046#true} is VALID [2022-02-20 16:46:44,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {1046#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {1046#true} is VALID [2022-02-20 16:46:44,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {1046#true} assume !((~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687)); {1046#true} is VALID [2022-02-20 16:46:44,802 INFO L290 TraceCheckUtils]: 22: Hoare triple {1046#true} assume (~w~0 % 4294967296 >= 1 && ~w~0 % 4294967296 <= 8388607) || (~w~0 % 4294967296 >= 2147483649 && ~w~0 % 4294967296 <= 2155872255);#res := 3; {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} is VALID [2022-02-20 16:46:44,802 INFO L290 TraceCheckUtils]: 23: Hoare triple {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} assume true; {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} is VALID [2022-02-20 16:46:44,803 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1067#(and (<= 3 |__fpclassify_float_#res|) (<= |__fpclassify_float_#res| 3))} {1046#true} #139#return; {1062#(= (+ (- 3) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:44,803 INFO L290 TraceCheckUtils]: 25: Hoare triple {1062#(= (+ (- 3) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} assume -2147483648 <= fmin_float_#t~ret5#1 && fmin_float_#t~ret5#1 <= 2147483647; {1062#(= (+ (- 3) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} is VALID [2022-02-20 16:46:44,803 INFO L290 TraceCheckUtils]: 26: Hoare triple {1062#(= (+ (- 3) |ULTIMATE.start_fmin_float_#t~ret5#1|) 0)} assume 0 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {1047#false} is VALID [2022-02-20 16:46:44,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {1047#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L272 TraceCheckUtils]: 28: Hoare triple {1047#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {1046#true} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {1046#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1046#true} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {1046#true} assume true; {1046#true} is VALID [2022-02-20 16:46:44,804 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1046#true} {1047#false} #143#return; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {1047#false} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 33: Hoare triple {1047#false} assume !main_#t~short21#1; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {1047#false} assume main_#t~short21#1 && ~someBinaryFLOATComparisonOperation(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L290 TraceCheckUtils]: 35: Hoare triple {1047#false} assume !false; {1047#false} is VALID [2022-02-20 16:46:44,804 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:46:44,805 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:46:44,805 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [313074464] [2022-02-20 16:46:44,805 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [313074464] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:44,805 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:44,805 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:46:44,805 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132954941] [2022-02-20 16:46:44,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:44,805 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 36 [2022-02-20 16:46:44,806 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:44,806 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:44,824 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:44,824 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:46:44,824 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:46:44,825 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:46:44,825 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:44,825 INFO L87 Difference]: Start difference. First operand 59 states and 79 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:45,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,032 INFO L93 Difference]: Finished difference Result 83 states and 109 transitions. [2022-02-20 16:46:45,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:46:45,032 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 36 [2022-02-20 16:46:45,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:45,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:45,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:45,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:45,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 102 transitions. [2022-02-20 16:46:45,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 102 transitions. [2022-02-20 16:46:45,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:45,096 INFO L225 Difference]: With dead ends: 83 [2022-02-20 16:46:45,096 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 16:46:45,097 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:45,098 INFO L933 BasicCegarLoop]: 74 mSDtfsCounter, 3 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:45,098 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 243 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:46:45,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 16:46:45,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-02-20 16:46:45,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:45,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,102 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,103 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,105 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2022-02-20 16:46:45,105 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2022-02-20 16:46:45,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:45,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:45,106 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 63 states. [2022-02-20 16:46:45,106 INFO L87 Difference]: Start difference. First operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 63 states. [2022-02-20 16:46:45,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,109 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2022-02-20 16:46:45,109 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2022-02-20 16:46:45,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:45,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:45,109 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:45,109 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:45,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 45 states have internal predecessors, (57), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 79 transitions. [2022-02-20 16:46:45,112 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 79 transitions. Word has length 36 [2022-02-20 16:46:45,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:45,112 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 79 transitions. [2022-02-20 16:46:45,112 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:45,113 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 79 transitions. [2022-02-20 16:46:45,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:46:45,113 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:45,113 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:45,114 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 16:46:45,114 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:45,114 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:45,114 INFO L85 PathProgramCache]: Analyzing trace with hash -1658214444, now seen corresponding path program 1 times [2022-02-20 16:46:45,114 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:45,115 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [695322641] [2022-02-20 16:46:45,115 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:45,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:45,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:45,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:46:45,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:45,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,180 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1372#true} {1372#true} #131#return; {1372#true} is VALID [2022-02-20 16:46:45,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 16:46:45,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:45,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,184 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1372#true} {1372#true} #133#return; {1372#true} is VALID [2022-02-20 16:46:45,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 16:46:45,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:45,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {1393#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {1372#true} is VALID [2022-02-20 16:46:45,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {1372#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1372#true} is VALID [2022-02-20 16:46:45,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {1372#true} goto; {1372#true} is VALID [2022-02-20 16:46:45,200 INFO L290 TraceCheckUtils]: 3: Hoare triple {1372#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {1372#true} is VALID [2022-02-20 16:46:45,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {1372#true} assume !((~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687)); {1372#true} is VALID [2022-02-20 16:46:45,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {1372#true} assume !((~w~0 % 4294967296 >= 1 && ~w~0 % 4294967296 <= 8388607) || (~w~0 % 4294967296 >= 2147483649 && ~w~0 % 4294967296 <= 2155872255)); {1372#true} is VALID [2022-02-20 16:46:45,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {1372#true} assume !(2139095040 == ~w~0 % 4294967296 || 4286578688 == ~w~0 % 4294967296);#res := 0; {1372#true} is VALID [2022-02-20 16:46:45,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,201 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1372#true} {1372#true} #139#return; {1372#true} is VALID [2022-02-20 16:46:45,202 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-02-20 16:46:45,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:45,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,205 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1372#true} {1372#true} #143#return; {1372#true} is VALID [2022-02-20 16:46:45,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {1372#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(20, 2);call #Ultimate.allocInit(12, 3); {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {1372#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L272 TraceCheckUtils]: 2: Hoare triple {1372#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L290 TraceCheckUtils]: 3: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L290 TraceCheckUtils]: 4: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1372#true} {1372#true} #131#return; {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L290 TraceCheckUtils]: 6: Hoare triple {1372#true} assume -2147483648 <= main_#t~ret11#1 && main_#t~ret11#1 <= 2147483647;main_#t~short13#1 := 0 != main_#t~ret11#1; {1372#true} is VALID [2022-02-20 16:46:45,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {1372#true} assume main_#t~short13#1; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L272 TraceCheckUtils]: 8: Hoare triple {1372#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 10: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1372#true} {1372#true} #133#return; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {1372#true} assume -2147483648 <= main_#t~ret12#1 && main_#t~ret12#1 <= 2147483647;main_#t~short13#1 := 0 == main_#t~ret12#1; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {1372#true} main_#t~short17#1 := main_#t~short13#1; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {1372#true} assume main_#t~short17#1; {1372#true} is VALID [2022-02-20 16:46:45,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {1372#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {1372#true} is VALID [2022-02-20 16:46:45,208 INFO L272 TraceCheckUtils]: 16: Hoare triple {1372#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {1393#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:46:45,208 INFO L290 TraceCheckUtils]: 17: Hoare triple {1393#(and (= |old(#length)| |#length|) (= |old(#memory_real)| |#memory_real|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~x := #in~x;havoc ~w~0; {1372#true} is VALID [2022-02-20 16:46:45,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {1372#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 19: Hoare triple {1372#true} goto; {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {1372#true} assume !(0 == ~w~0 % 4294967296 || 2147483648 == ~w~0 % 4294967296); {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {1372#true} assume !((~w~0 % 4294967296 >= 8388608 && ~w~0 % 4294967296 <= 2139095039) || (~w~0 % 4294967296 >= 2155872256 && ~w~0 % 4294967296 <= 4286578687)); {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {1372#true} assume !((~w~0 % 4294967296 >= 1 && ~w~0 % 4294967296 <= 8388607) || (~w~0 % 4294967296 >= 2147483649 && ~w~0 % 4294967296 <= 2155872255)); {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 23: Hoare triple {1372#true} assume !(2139095040 == ~w~0 % 4294967296 || 4286578688 == ~w~0 % 4294967296);#res := 0; {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 24: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1372#true} {1372#true} #139#return; {1372#true} is VALID [2022-02-20 16:46:45,209 INFO L290 TraceCheckUtils]: 26: Hoare triple {1372#true} assume -2147483648 <= fmin_float_#t~ret5#1 && fmin_float_#t~ret5#1 <= 2147483647; {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L290 TraceCheckUtils]: 27: Hoare triple {1372#true} assume 0 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L290 TraceCheckUtils]: 28: Hoare triple {1372#true} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L272 TraceCheckUtils]: 29: Hoare triple {1372#true} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L290 TraceCheckUtils]: 30: Hoare triple {1372#true} ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {1372#true} assume true; {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1372#true} {1372#true} #143#return; {1372#true} is VALID [2022-02-20 16:46:45,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {1372#true} assume -2147483648 <= main_#t~ret19#1 && main_#t~ret19#1 <= 2147483647;main_#t~short21#1 := 0 != main_#t~ret19#1; {1372#true} is VALID [2022-02-20 16:46:45,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {1372#true} assume !main_#t~short21#1; {1392#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:46:45,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {1392#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1 && ~someBinaryFLOATComparisonOperation(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {1373#false} is VALID [2022-02-20 16:46:45,211 INFO L290 TraceCheckUtils]: 36: Hoare triple {1373#false} assume !false; {1373#false} is VALID [2022-02-20 16:46:45,211 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:46:45,212 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:46:45,212 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [695322641] [2022-02-20 16:46:45,212 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [695322641] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:45,212 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:45,212 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:45,212 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2026206726] [2022-02-20 16:46:45,212 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:45,213 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:46:45,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:45,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:46:45,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:45,232 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:45,232 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:46:45,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:45,233 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:45,233 INFO L87 Difference]: Start difference. First operand 59 states and 79 transitions. Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:46:45,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,352 INFO L93 Difference]: Finished difference Result 62 states and 82 transitions. [2022-02-20 16:46:45,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:46:45,352 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 37 [2022-02-20 16:46:45,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:45,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:46:45,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2022-02-20 16:46:45,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:46:45,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2022-02-20 16:46:45,355 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 75 transitions. [2022-02-20 16:46:45,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:45,410 INFO L225 Difference]: With dead ends: 62 [2022-02-20 16:46:45,410 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 16:46:45,410 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:45,411 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 3 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:45,411 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 172 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:45,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 16:46:45,414 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 16:46:45,414 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:45,414 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,415 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,415 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,417 INFO L93 Difference]: Finished difference Result 60 states and 80 transitions. [2022-02-20 16:46:45,417 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 80 transitions. [2022-02-20 16:46:45,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:45,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:45,417 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 60 states. [2022-02-20 16:46:45,417 INFO L87 Difference]: Start difference. First operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 60 states. [2022-02-20 16:46:45,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:45,419 INFO L93 Difference]: Finished difference Result 60 states and 80 transitions. [2022-02-20 16:46:45,419 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 80 transitions. [2022-02-20 16:46:45,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:45,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:45,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:45,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:45,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 45 states have (on average 1.288888888888889) internal successors, (58), 46 states have internal predecessors, (58), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:45,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 80 transitions. [2022-02-20 16:46:45,421 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 80 transitions. Word has length 37 [2022-02-20 16:46:45,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:45,421 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 80 transitions. [2022-02-20 16:46:45,421 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 16:46:45,421 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 80 transitions. [2022-02-20 16:46:45,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 16:46:45,422 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:45,422 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:45,422 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 16:46:45,422 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:45,422 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:45,422 INFO L85 PathProgramCache]: Analyzing trace with hash -1826594765, now seen corresponding path program 1 times [2022-02-20 16:46:45,423 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:46:45,423 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1049455986] [2022-02-20 16:46:45,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:45,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:46:45,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:46:45,450 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:46:45,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:46:45,480 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 16:46:45,480 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:46:45,480 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2022-02-20 16:46:45,482 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 16:46:45,482 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 16:46:45,484 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1] [2022-02-20 16:46:45,486 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:46:45,498 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret11 := isnan_float(~x~0); [2022-02-20 16:46:45,498 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:46:45,501 INFO L158 Benchmark]: Toolchain (without parser) took 3347.45ms. Allocated memory was 96.5MB in the beginning and 161.5MB in the end (delta: 65.0MB). Free memory was 64.4MB in the beginning and 121.7MB in the end (delta: -57.2MB). Peak memory consumption was 6.8MB. Max. memory is 16.1GB. [2022-02-20 16:46:45,501 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 96.5MB. Free memory was 51.0MB in the beginning and 51.0MB in the end (delta: 49.4kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:46:45,501 INFO L158 Benchmark]: CACSL2BoogieTranslator took 189.45ms. Allocated memory is still 96.5MB. Free memory was 64.3MB in the beginning and 71.1MB in the end (delta: -6.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 16:46:45,501 INFO L158 Benchmark]: Boogie Procedure Inliner took 26.87ms. Allocated memory is still 96.5MB. Free memory was 71.1MB in the beginning and 69.2MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:46:45,502 INFO L158 Benchmark]: Boogie Preprocessor took 19.12ms. Allocated memory is still 96.5MB. Free memory was 69.2MB in the beginning and 67.7MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:46:45,502 INFO L158 Benchmark]: RCFGBuilder took 346.99ms. Allocated memory is still 96.5MB. Free memory was 67.7MB in the beginning and 51.8MB in the end (delta: 15.9MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2022-02-20 16:46:45,502 INFO L158 Benchmark]: TraceAbstraction took 2758.83ms. Allocated memory was 96.5MB in the beginning and 161.5MB in the end (delta: 65.0MB). Free memory was 51.2MB in the beginning and 121.7MB in the end (delta: -70.5MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:46:45,503 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 96.5MB. Free memory was 51.0MB in the beginning and 51.0MB in the end (delta: 49.4kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 189.45ms. Allocated memory is still 96.5MB. Free memory was 64.3MB in the beginning and 71.1MB in the end (delta: -6.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 26.87ms. Allocated memory is still 96.5MB. Free memory was 71.1MB in the beginning and 69.2MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 19.12ms. Allocated memory is still 96.5MB. Free memory was 69.2MB in the beginning and 67.7MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 346.99ms. Allocated memory is still 96.5MB. Free memory was 67.7MB in the beginning and 51.8MB in the end (delta: 15.9MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * TraceAbstraction took 2758.83ms. Allocated memory was 96.5MB in the beginning and 161.5MB in the end (delta: 65.0MB). Free memory was 51.2MB in the beginning and 121.7MB in the end (delta: -70.5MB). There was no memory consumed. 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:46:45,534 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 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/float_req_bl_1231.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 7acfe881669b731d03fc8aee9db955b71d947923db9c9de4e28fcb386b44b191 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:46:47,145 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:46:47,147 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:46:47,166 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:46:47,166 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:46:47,167 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:46:47,168 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:46:47,169 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:46:47,170 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:46:47,171 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:46:47,171 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:46:47,172 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:46:47,172 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:46:47,173 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:46:47,174 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:46:47,174 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:46:47,175 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:46:47,175 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:46:47,176 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:46:47,177 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:46:47,178 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:46:47,179 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:46:47,180 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:46:47,180 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:46:47,182 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:46:47,182 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:46:47,182 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:46:47,183 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:46:47,183 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:46:47,184 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:46:47,184 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:46:47,184 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:46:47,185 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:46:47,185 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:46:47,186 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:46:47,186 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:46:47,187 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:46:47,187 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:46:47,187 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:46:47,188 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:46:47,188 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:46:47,189 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:46:47,204 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:46:47,204 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:46:47,204 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:46:47,204 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:46:47,205 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:46:47,205 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:46:47,206 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:46:47,206 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:46:47,206 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:46:47,206 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:46:47,206 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:46:47,207 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:46:47,207 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:46:47,207 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:46:47,207 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:46:47,207 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:46:47,208 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:46:47,208 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:46:47,208 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:46:47,208 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:46:47,208 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:46:47,209 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:46:47,209 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:46:47,209 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:46:47,209 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:46:47,209 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:46:47,216 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:46:47,216 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:46:47,216 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:46:47,216 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:46:47,216 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:46:47,217 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:46:47,217 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:46:47,217 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:46:47,217 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:46:47,217 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:46:47,218 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 -> 7acfe881669b731d03fc8aee9db955b71d947923db9c9de4e28fcb386b44b191 [2022-02-20 16:46:47,454 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:46:47,474 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:46:47,476 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:46:47,477 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:46:47,477 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:46:47,478 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/float_req_bl_1231.c [2022-02-20 16:46:47,534 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e4f6281fa/86c47ab368584257867d3dd5113549f1/FLAG9039c5a0b [2022-02-20 16:46:47,831 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:46:47,831 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/float_req_bl_1231.c [2022-02-20 16:46:47,842 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e4f6281fa/86c47ab368584257867d3dd5113549f1/FLAG9039c5a0b [2022-02-20 16:46:48,278 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e4f6281fa/86c47ab368584257867d3dd5113549f1 [2022-02-20 16:46:48,280 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:46:48,281 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:46:48,283 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:46:48,283 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:46:48,285 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:46:48,286 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,288 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6abdd9c8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48, skipping insertion in model container [2022-02-20 16:46:48,288 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,295 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:46:48,308 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:46:48,399 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/float_req_bl_1231.c[1835,1848] [2022-02-20 16:46:48,401 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/float_req_bl_1231.c[1994,2007] [2022-02-20 16:46:48,402 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:46:48,415 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:46:48,455 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/float_req_bl_1231.c[1835,1848] [2022-02-20 16:46:48,456 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/float_req_bl_1231.c[1994,2007] [2022-02-20 16:46:48,456 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:46:48,466 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:46:48,467 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48 WrapperNode [2022-02-20 16:46:48,467 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:46:48,470 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:46:48,470 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:46:48,471 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:46:48,475 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:46:48" (1/1) ... [2022-02-20 16:46:48,482 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:46:48" (1/1) ... [2022-02-20 16:46:48,499 INFO L137 Inliner]: procedures = 22, calls = 26, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 98 [2022-02-20 16:46:48,499 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:46:48,500 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:46:48,500 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:46:48,500 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:46:48,505 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,505 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,508 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,508 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,515 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,518 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,520 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,522 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:46:48,522 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:46:48,522 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:46:48,522 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:46:48,523 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (1/1) ... [2022-02-20 16:46:48,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:46:48,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:46:48,554 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:46:48,560 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:46:48,579 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure __fpclassify_float [2022-02-20 16:46:48,580 INFO L138 BoogieDeclarations]: Found implementation of procedure __fpclassify_float [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2022-02-20 16:46:48,580 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 16:46:48,580 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:46:48,581 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:46:48,581 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2022-02-20 16:46:48,581 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:46:48,674 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:46:48,675 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:46:48,954 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:46:48,959 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:46:48,959 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 16:46:48,961 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:46:48 BoogieIcfgContainer [2022-02-20 16:46:48,961 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:46:48,968 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:46:48,968 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:46:48,970 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:46:48,970 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:46:48" (1/3) ... [2022-02-20 16:46:48,977 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@789195e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:46:48, skipping insertion in model container [2022-02-20 16:46:48,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:46:48" (2/3) ... [2022-02-20 16:46:48,978 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@789195e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:46:48, skipping insertion in model container [2022-02-20 16:46:48,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:46:48" (3/3) ... [2022-02-20 16:46:48,979 INFO L111 eAbstractionObserver]: Analyzing ICFG float_req_bl_1231.c [2022-02-20 16:46:48,984 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:46:48,984 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2022-02-20 16:46:49,026 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:46:49,031 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:46:49,031 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 16:46:49,044 INFO L276 IsEmpty]: Start isEmpty. Operand has 55 states, 40 states have (on average 1.475) internal successors, (59), 42 states have internal predecessors, (59), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:49,048 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 16:46:49,048 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:49,049 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, 1] [2022-02-20 16:46:49,049 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:49,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:49,053 INFO L85 PathProgramCache]: Analyzing trace with hash 956195031, now seen corresponding path program 1 times [2022-02-20 16:46:49,061 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:49,061 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [573602768] [2022-02-20 16:46:49,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:49,062 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:49,062 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:49,064 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:46:49,065 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:46:49,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:49,124 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:46:49,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:49,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:49,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {58#true} is VALID [2022-02-20 16:46:49,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {58#true} is VALID [2022-02-20 16:46:49,248 INFO L272 TraceCheckUtils]: 2: Hoare triple {58#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {58#true} is VALID [2022-02-20 16:46:49,249 INFO L290 TraceCheckUtils]: 3: Hoare triple {58#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {58#true} is VALID [2022-02-20 16:46:49,249 INFO L290 TraceCheckUtils]: 4: Hoare triple {58#true} assume true; {58#true} is VALID [2022-02-20 16:46:49,249 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {58#true} {58#true} #129#return; {58#true} is VALID [2022-02-20 16:46:49,249 INFO L290 TraceCheckUtils]: 6: Hoare triple {58#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {58#true} is VALID [2022-02-20 16:46:49,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {58#true} assume !main_#t~short13#1; {58#true} is VALID [2022-02-20 16:46:49,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {58#true} main_#t~short17#1 := main_#t~short13#1; {58#true} is VALID [2022-02-20 16:46:49,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {58#true} assume main_#t~short17#1; {58#true} is VALID [2022-02-20 16:46:49,251 INFO L290 TraceCheckUtils]: 10: Hoare triple {58#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {58#true} is VALID [2022-02-20 16:46:49,251 INFO L272 TraceCheckUtils]: 11: Hoare triple {58#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {58#true} is VALID [2022-02-20 16:46:49,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {58#true} ~x := #in~x;havoc ~w~0; {58#true} is VALID [2022-02-20 16:46:49,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {58#true} assume !true; {59#false} is VALID [2022-02-20 16:46:49,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {59#false} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {59#false} is VALID [2022-02-20 16:46:49,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {59#false} assume true; {59#false} is VALID [2022-02-20 16:46:49,253 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {59#false} {58#true} #137#return; {59#false} is VALID [2022-02-20 16:46:49,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {59#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {59#false} is VALID [2022-02-20 16:46:49,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {59#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {59#false} is VALID [2022-02-20 16:46:49,254 INFO L272 TraceCheckUtils]: 19: Hoare triple {59#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {59#false} is VALID [2022-02-20 16:46:49,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {59#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {59#false} is VALID [2022-02-20 16:46:49,254 INFO L290 TraceCheckUtils]: 21: Hoare triple {59#false} assume true; {59#false} is VALID [2022-02-20 16:46:49,254 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {59#false} {59#false} #141#return; {59#false} is VALID [2022-02-20 16:46:49,254 INFO L290 TraceCheckUtils]: 23: Hoare triple {59#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {59#false} is VALID [2022-02-20 16:46:49,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {59#false} assume !main_#t~short21#1; {59#false} is VALID [2022-02-20 16:46:49,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {59#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {59#false} is VALID [2022-02-20 16:46:49,255 INFO L290 TraceCheckUtils]: 26: Hoare triple {59#false} assume !false; {59#false} is VALID [2022-02-20 16:46:49,256 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:46:49,256 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:49,257 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:49,257 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [573602768] [2022-02-20 16:46:49,257 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [573602768] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:49,258 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:49,258 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:46:49,261 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1424129778] [2022-02-20 16:46:49,261 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:49,265 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-02-20 16:46:49,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:49,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:49,311 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:46:49,311 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:49,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:46:49,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:46:49,337 INFO L87 Difference]: Start difference. First operand has 55 states, 40 states have (on average 1.475) internal successors, (59), 42 states have internal predecessors, (59), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:49,447 INFO L93 Difference]: Finished difference Result 93 states and 134 transitions. [2022-02-20 16:46:49,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:46:49,448 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-02-20 16:46:49,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:49,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 134 transitions. [2022-02-20 16:46:49,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 134 transitions. [2022-02-20 16:46:49,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 134 transitions. [2022-02-20 16:46:49,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:49,585 INFO L225 Difference]: With dead ends: 93 [2022-02-20 16:46:49,586 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 16:46:49,588 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 26 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:46:49,590 INFO L933 BasicCegarLoop]: 75 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, 75 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:46:49,591 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 75 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:49,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 16:46:49,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 16:46:49,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:49,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:49,613 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:49,613 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:49,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:49,617 INFO L93 Difference]: Finished difference Result 51 states and 70 transitions. [2022-02-20 16:46:49,618 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 70 transitions. [2022-02-20 16:46:49,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:49,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:49,619 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 51 states. [2022-02-20 16:46:49,619 INFO L87 Difference]: Start difference. First operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 51 states. [2022-02-20 16:46:49,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:49,623 INFO L93 Difference]: Finished difference Result 51 states and 70 transitions. [2022-02-20 16:46:49,623 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 70 transitions. [2022-02-20 16:46:49,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:49,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:49,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:49,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:49,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 37 states have (on average 1.3513513513513513) internal successors, (50), 38 states have internal predecessors, (50), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:49,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 70 transitions. [2022-02-20 16:46:49,628 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 70 transitions. Word has length 27 [2022-02-20 16:46:49,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:49,628 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 70 transitions. [2022-02-20 16:46:49,629 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 10.5) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,629 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 70 transitions. [2022-02-20 16:46:49,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 16:46:49,630 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:49,630 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, 1, 1] [2022-02-20 16:46:49,640 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:46:49,838 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:46:49,838 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:49,839 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:49,839 INFO L85 PathProgramCache]: Analyzing trace with hash -1128254016, now seen corresponding path program 1 times [2022-02-20 16:46:49,840 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:49,840 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1373845292] [2022-02-20 16:46:49,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:49,840 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:49,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:49,841 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:46:49,844 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:46:49,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:49,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:46:49,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:49,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:49,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {425#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {425#true} is VALID [2022-02-20 16:46:49,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {425#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {425#true} is VALID [2022-02-20 16:46:49,968 INFO L272 TraceCheckUtils]: 2: Hoare triple {425#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {425#true} is VALID [2022-02-20 16:46:49,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {425#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {425#true} is VALID [2022-02-20 16:46:49,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {425#true} assume true; {425#true} is VALID [2022-02-20 16:46:49,969 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {425#true} {425#true} #129#return; {425#true} is VALID [2022-02-20 16:46:49,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {425#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {425#true} is VALID [2022-02-20 16:46:49,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {425#true} assume !main_#t~short13#1; {451#(not |ULTIMATE.start_main_#t~short13#1|)} is VALID [2022-02-20 16:46:49,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {451#(not |ULTIMATE.start_main_#t~short13#1|)} main_#t~short17#1 := main_#t~short13#1; {455#(not |ULTIMATE.start_main_#t~short17#1|)} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {455#(not |ULTIMATE.start_main_#t~short17#1|)} assume main_#t~short17#1; {426#false} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 10: Hoare triple {426#false} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {426#false} is VALID [2022-02-20 16:46:49,970 INFO L272 TraceCheckUtils]: 11: Hoare triple {426#false} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {426#false} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {426#false} ~x := #in~x;havoc ~w~0; {426#false} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {426#false} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {426#false} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {426#false} goto; {426#false} is VALID [2022-02-20 16:46:49,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {426#false} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 16: Hoare triple {426#false} assume true; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {426#false} {426#false} #137#return; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {426#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {426#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L272 TraceCheckUtils]: 20: Hoare triple {426#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 21: Hoare triple {426#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 22: Hoare triple {426#false} assume true; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {426#false} {426#false} #141#return; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {426#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {426#false} is VALID [2022-02-20 16:46:49,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {426#false} assume !main_#t~short21#1; {426#false} is VALID [2022-02-20 16:46:49,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {426#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {426#false} is VALID [2022-02-20 16:46:49,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {426#false} assume !false; {426#false} is VALID [2022-02-20 16:46:49,972 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:46:49,972 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:49,972 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:49,972 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1373845292] [2022-02-20 16:46:49,972 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1373845292] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:49,972 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:49,972 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:49,973 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1139746921] [2022-02-20 16:46:49,973 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:49,974 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 16:46:49,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:49,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:49,994 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:49,994 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:49,994 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:49,995 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:49,995 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:49,995 INFO L87 Difference]: Start difference. First operand 51 states and 70 transitions. Second operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:50,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,168 INFO L93 Difference]: Finished difference Result 96 states and 131 transitions. [2022-02-20 16:46:50,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:46:50,168 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 16:46:50,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:50,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:50,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 131 transitions. [2022-02-20 16:46:50,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:50,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 131 transitions. [2022-02-20 16:46:50,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 131 transitions. [2022-02-20 16:46:50,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:50,296 INFO L225 Difference]: With dead ends: 96 [2022-02-20 16:46:50,296 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 16:46:50,297 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:46:50,299 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 16 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:50,299 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 191 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:50,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 16:46:50,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 53. [2022-02-20 16:46:50,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:50,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:50,313 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:50,314 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:50,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,320 INFO L93 Difference]: Finished difference Result 60 states and 82 transitions. [2022-02-20 16:46:50,320 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 82 transitions. [2022-02-20 16:46:50,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:50,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:50,324 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-02-20 16:46:50,324 INFO L87 Difference]: Start difference. First operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-02-20 16:46:50,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,331 INFO L93 Difference]: Finished difference Result 60 states and 82 transitions. [2022-02-20 16:46:50,331 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 82 transitions. [2022-02-20 16:46:50,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:50,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:50,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:50,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:50,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 40 states have internal predecessors, (52), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:46:50,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 72 transitions. [2022-02-20 16:46:50,338 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 72 transitions. Word has length 28 [2022-02-20 16:46:50,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:50,338 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 72 transitions. [2022-02-20 16:46:50,339 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:46:50,339 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 72 transitions. [2022-02-20 16:46:50,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 16:46:50,341 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:50,344 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:50,366 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:46:50,563 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:46:50,564 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:50,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:50,564 INFO L85 PathProgramCache]: Analyzing trace with hash 987158491, now seen corresponding path program 1 times [2022-02-20 16:46:50,565 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:50,565 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2069029591] [2022-02-20 16:46:50,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:50,565 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:50,565 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:50,566 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:46:50,567 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:46:50,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:50,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:46:50,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:50,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:50,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {823#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {823#true} is VALID [2022-02-20 16:46:50,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {823#true} is VALID [2022-02-20 16:46:50,721 INFO L272 TraceCheckUtils]: 2: Hoare triple {823#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {823#true} is VALID [2022-02-20 16:46:50,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {823#true} is VALID [2022-02-20 16:46:50,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {823#true} assume true; {823#true} is VALID [2022-02-20 16:46:50,721 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {823#true} {823#true} #129#return; {823#true} is VALID [2022-02-20 16:46:50,721 INFO L290 TraceCheckUtils]: 6: Hoare triple {823#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {823#true} is VALID [2022-02-20 16:46:50,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {823#true} assume main_#t~short13#1; {823#true} is VALID [2022-02-20 16:46:50,722 INFO L272 TraceCheckUtils]: 8: Hoare triple {823#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {823#true} is VALID [2022-02-20 16:46:50,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {823#true} is VALID [2022-02-20 16:46:50,722 INFO L290 TraceCheckUtils]: 10: Hoare triple {823#true} assume true; {823#true} is VALID [2022-02-20 16:46:50,722 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {823#true} {823#true} #131#return; {823#true} is VALID [2022-02-20 16:46:50,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {823#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {823#true} is VALID [2022-02-20 16:46:50,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {823#true} main_#t~short17#1 := main_#t~short13#1; {823#true} is VALID [2022-02-20 16:46:50,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {823#true} assume main_#t~short17#1; {823#true} is VALID [2022-02-20 16:46:50,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {823#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {823#true} is VALID [2022-02-20 16:46:50,723 INFO L272 TraceCheckUtils]: 16: Hoare triple {823#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {823#true} is VALID [2022-02-20 16:46:50,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {823#true} ~x := #in~x;havoc ~w~0; {823#true} is VALID [2022-02-20 16:46:50,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {823#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {823#true} is VALID [2022-02-20 16:46:50,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {823#true} goto; {823#true} is VALID [2022-02-20 16:46:50,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {823#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {888#(= (_ bv2 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:50,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {888#(= (_ bv2 32) |__fpclassify_float_#res|)} assume true; {888#(= (_ bv2 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:50,725 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {888#(= (_ bv2 32) |__fpclassify_float_#res|)} {823#true} #137#return; {895#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv2 32))} is VALID [2022-02-20 16:46:50,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {895#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv2 32))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {824#false} is VALID [2022-02-20 16:46:50,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {824#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {824#false} is VALID [2022-02-20 16:46:50,725 INFO L272 TraceCheckUtils]: 25: Hoare triple {824#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {824#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {824#false} assume true; {824#false} is VALID [2022-02-20 16:46:50,726 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {824#false} {824#false} #141#return; {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {824#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {824#false} assume !main_#t~short21#1; {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {824#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {824#false} is VALID [2022-02-20 16:46:50,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {824#false} assume !false; {824#false} is VALID [2022-02-20 16:46:50,727 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:50,727 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:50,727 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:50,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2069029591] [2022-02-20 16:46:50,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2069029591] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:50,727 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:50,727 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:50,728 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [115099766] [2022-02-20 16:46:50,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:50,728 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 33 [2022-02-20 16:46:50,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:50,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:50,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:50,750 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:50,750 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:50,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:50,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:50,751 INFO L87 Difference]: Start difference. First operand 53 states and 72 transitions. Second operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:50,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,881 INFO L93 Difference]: Finished difference Result 76 states and 101 transitions. [2022-02-20 16:46:50,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:46:50,882 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 33 [2022-02-20 16:46:50,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:50,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:50,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:50,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:50,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:50,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:46:50,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:50,965 INFO L225 Difference]: With dead ends: 76 [2022-02-20 16:46:50,965 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 16:46:50,965 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:50,966 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 0 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:50,966 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 200 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:50,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 16:46:50,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-02-20 16:46:50,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:50,970 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:50,970 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:50,970 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:50,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,972 INFO L93 Difference]: Finished difference Result 56 states and 76 transitions. [2022-02-20 16:46:50,972 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:50,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:50,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:50,973 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 56 states. [2022-02-20 16:46:50,973 INFO L87 Difference]: Start difference. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 56 states. [2022-02-20 16:46:50,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:50,975 INFO L93 Difference]: Finished difference Result 56 states and 76 transitions. [2022-02-20 16:46:50,975 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:50,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:50,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:50,975 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:50,975 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:50,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:50,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 76 transitions. [2022-02-20 16:46:50,977 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 76 transitions. Word has length 33 [2022-02-20 16:46:50,977 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:50,977 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 76 transitions. [2022-02-20 16:46:50,977 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:50,977 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:50,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 16:46:50,978 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:50,978 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:50,988 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:46:51,185 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:46:51,186 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:51,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:51,186 INFO L85 PathProgramCache]: Analyzing trace with hash 871427583, now seen corresponding path program 1 times [2022-02-20 16:46:51,187 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:51,187 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1705706061] [2022-02-20 16:46:51,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:51,187 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:51,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:51,188 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:46:51,189 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:46:51,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:51,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:46:51,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:51,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:51,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {1203#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1203#true} is VALID [2022-02-20 16:46:51,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {1203#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L272 TraceCheckUtils]: 2: Hoare triple {1203#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 3: Hoare triple {1203#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 4: Hoare triple {1203#true} assume true; {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1203#true} {1203#true} #129#return; {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {1203#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {1203#true} assume main_#t~short13#1; {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L272 TraceCheckUtils]: 8: Hoare triple {1203#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {1203#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1203#true} is VALID [2022-02-20 16:46:51,307 INFO L290 TraceCheckUtils]: 10: Hoare triple {1203#true} assume true; {1203#true} is VALID [2022-02-20 16:46:51,308 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1203#true} {1203#true} #131#return; {1203#true} is VALID [2022-02-20 16:46:51,308 INFO L290 TraceCheckUtils]: 12: Hoare triple {1203#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {1203#true} is VALID [2022-02-20 16:46:51,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {1203#true} main_#t~short17#1 := main_#t~short13#1; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {1203#true} assume main_#t~short17#1; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 15: Hoare triple {1203#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L272 TraceCheckUtils]: 16: Hoare triple {1203#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 17: Hoare triple {1203#true} ~x := #in~x;havoc ~w~0; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {1203#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 19: Hoare triple {1203#true} goto; {1203#true} is VALID [2022-02-20 16:46:51,310 INFO L290 TraceCheckUtils]: 20: Hoare triple {1203#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {1203#true} is VALID [2022-02-20 16:46:51,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {1203#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {1271#(= (_ bv4 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:51,311 INFO L290 TraceCheckUtils]: 22: Hoare triple {1271#(= (_ bv4 32) |__fpclassify_float_#res|)} assume true; {1271#(= (_ bv4 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:51,312 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1271#(= (_ bv4 32) |__fpclassify_float_#res|)} {1203#true} #137#return; {1278#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv4 32))} is VALID [2022-02-20 16:46:51,312 INFO L290 TraceCheckUtils]: 24: Hoare triple {1278#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv4 32))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {1204#false} is VALID [2022-02-20 16:46:51,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {1204#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {1204#false} is VALID [2022-02-20 16:46:51,313 INFO L272 TraceCheckUtils]: 26: Hoare triple {1204#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {1204#false} is VALID [2022-02-20 16:46:51,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {1204#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1204#false} is VALID [2022-02-20 16:46:51,313 INFO L290 TraceCheckUtils]: 28: Hoare triple {1204#false} assume true; {1204#false} is VALID [2022-02-20 16:46:51,314 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1204#false} {1204#false} #141#return; {1204#false} is VALID [2022-02-20 16:46:51,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {1204#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {1204#false} is VALID [2022-02-20 16:46:51,314 INFO L290 TraceCheckUtils]: 31: Hoare triple {1204#false} assume !main_#t~short21#1; {1204#false} is VALID [2022-02-20 16:46:51,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {1204#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {1204#false} is VALID [2022-02-20 16:46:51,316 INFO L290 TraceCheckUtils]: 33: Hoare triple {1204#false} assume !false; {1204#false} is VALID [2022-02-20 16:46:51,316 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:51,316 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:51,316 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:51,316 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1705706061] [2022-02-20 16:46:51,317 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1705706061] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:51,317 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:51,317 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:51,319 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1134076083] [2022-02-20 16:46:51,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:51,320 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-02-20 16:46:51,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:51,322 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:51,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:51,342 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:51,343 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:51,343 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:51,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:51,346 INFO L87 Difference]: Start difference. First operand 56 states and 76 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:51,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:51,539 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-02-20 16:46:51,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:46:51,539 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 34 [2022-02-20 16:46:51,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:51,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:51,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:51,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:51,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:51,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:46:51,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:51,604 INFO L225 Difference]: With dead ends: 79 [2022-02-20 16:46:51,604 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 16:46:51,604 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:51,605 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 0 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:51,605 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 209 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:51,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 16:46:51,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 16:46:51,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:51,608 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:51,609 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:51,609 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:51,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:51,610 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:51,611 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:51,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:51,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:51,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:51,611 INFO L87 Difference]: Start difference. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:51,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:51,613 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:51,613 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:51,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:51,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:51,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:51,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:51,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:51,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 76 transitions. [2022-02-20 16:46:51,615 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 76 transitions. Word has length 34 [2022-02-20 16:46:51,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:51,615 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 76 transitions. [2022-02-20 16:46:51,615 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:51,615 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:51,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:46:51,616 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:51,616 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:51,627 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 16:46:51,827 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:46:51,828 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:51,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:51,828 INFO L85 PathProgramCache]: Analyzing trace with hash 405124703, now seen corresponding path program 1 times [2022-02-20 16:46:51,828 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:51,829 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [30525452] [2022-02-20 16:46:51,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:51,829 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:51,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:51,830 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:46:51,831 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:46:51,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:51,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:46:51,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:51,896 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:51,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {1595#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1595#true} is VALID [2022-02-20 16:46:51,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {1595#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {1595#true} is VALID [2022-02-20 16:46:51,975 INFO L272 TraceCheckUtils]: 2: Hoare triple {1595#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {1595#true} is VALID [2022-02-20 16:46:51,975 INFO L290 TraceCheckUtils]: 3: Hoare triple {1595#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1595#true} is VALID [2022-02-20 16:46:51,975 INFO L290 TraceCheckUtils]: 4: Hoare triple {1595#true} assume true; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1595#true} {1595#true} #129#return; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {1595#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {1595#true} assume main_#t~short13#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L272 TraceCheckUtils]: 8: Hoare triple {1595#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {1595#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 10: Hoare triple {1595#true} assume true; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1595#true} {1595#true} #131#return; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 12: Hoare triple {1595#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {1595#true} main_#t~short17#1 := main_#t~short13#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 14: Hoare triple {1595#true} assume main_#t~short17#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {1595#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L272 TraceCheckUtils]: 16: Hoare triple {1595#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {1595#true} ~x := #in~x;havoc ~w~0; {1595#true} is VALID [2022-02-20 16:46:51,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {1595#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1595#true} is VALID [2022-02-20 16:46:51,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {1595#true} goto; {1595#true} is VALID [2022-02-20 16:46:51,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {1595#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {1595#true} is VALID [2022-02-20 16:46:51,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {1595#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {1595#true} is VALID [2022-02-20 16:46:51,993 INFO L290 TraceCheckUtils]: 22: Hoare triple {1595#true} assume (~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32));#res := 3bv32; {1666#(= (_ bv3 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:51,993 INFO L290 TraceCheckUtils]: 23: Hoare triple {1666#(= (_ bv3 32) |__fpclassify_float_#res|)} assume true; {1666#(= (_ bv3 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:51,994 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1666#(= (_ bv3 32) |__fpclassify_float_#res|)} {1595#true} #137#return; {1673#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv3 32))} is VALID [2022-02-20 16:46:51,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {1673#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv3 32))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {1596#false} is VALID [2022-02-20 16:46:51,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {1596#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {1596#false} is VALID [2022-02-20 16:46:51,994 INFO L272 TraceCheckUtils]: 27: Hoare triple {1596#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {1596#false} is VALID [2022-02-20 16:46:51,994 INFO L290 TraceCheckUtils]: 28: Hoare triple {1596#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1596#false} is VALID [2022-02-20 16:46:51,994 INFO L290 TraceCheckUtils]: 29: Hoare triple {1596#false} assume true; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1596#false} {1596#false} #141#return; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {1596#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L290 TraceCheckUtils]: 32: Hoare triple {1596#false} assume !main_#t~short21#1; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {1596#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {1596#false} assume !false; {1596#false} is VALID [2022-02-20 16:46:51,995 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:51,995 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:51,995 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:51,995 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [30525452] [2022-02-20 16:46:51,995 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [30525452] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:51,995 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:51,995 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:51,995 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1055771505] [2022-02-20 16:46:51,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:51,996 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 16:46:51,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:51,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:52,024 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:52,024 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:52,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:52,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:52,025 INFO L87 Difference]: Start difference. First operand 56 states and 76 transitions. Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,162 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-02-20 16:46:52,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:46:52,163 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 16:46:52,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:52,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:52,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:52,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:46:52,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:52,230 INFO L225 Difference]: With dead ends: 79 [2022-02-20 16:46:52,231 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 16:46:52,231 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:52,231 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 0 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:52,232 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 209 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:52,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 16:46:52,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 16:46:52,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:52,235 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,235 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,235 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,237 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:52,237 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:52,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:52,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:52,237 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:52,238 INFO L87 Difference]: Start difference. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:52,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,239 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:52,240 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:52,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:52,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:52,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:52,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:52,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 76 transitions. [2022-02-20 16:46:52,242 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 76 transitions. Word has length 35 [2022-02-20 16:46:52,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:52,242 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 76 transitions. [2022-02-20 16:46:52,242 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,242 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:52,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 16:46:52,243 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:52,243 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:52,252 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Ended with exit code 0 [2022-02-20 16:46:52,450 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:46:52,452 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:52,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:52,453 INFO L85 PathProgramCache]: Analyzing trace with hash 1955992579, now seen corresponding path program 1 times [2022-02-20 16:46:52,453 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:52,453 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1515958432] [2022-02-20 16:46:52,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:52,453 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:52,453 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:52,454 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:46:52,456 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 16:46:52,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:52,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:46:52,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:52,510 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {1990#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {1990#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L272 TraceCheckUtils]: 2: Hoare triple {1990#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 3: Hoare triple {1990#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 4: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1990#true} {1990#true} #129#return; {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 6: Hoare triple {1990#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {1990#true} is VALID [2022-02-20 16:46:52,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {1990#true} assume main_#t~short13#1; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L272 TraceCheckUtils]: 8: Hoare triple {1990#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {1990#true} assume true; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1990#true} {1990#true} #131#return; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 12: Hoare triple {1990#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {1990#true} main_#t~short17#1 := main_#t~short13#1; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {1990#true} assume main_#t~short17#1; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {1990#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L272 TraceCheckUtils]: 16: Hoare triple {1990#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 17: Hoare triple {1990#true} ~x := #in~x;havoc ~w~0; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {1990#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {1990#true} goto; {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {1990#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {1990#true} is VALID [2022-02-20 16:46:52,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {1990#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {1990#true} is VALID [2022-02-20 16:46:52,583 INFO L290 TraceCheckUtils]: 22: Hoare triple {1990#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {1990#true} is VALID [2022-02-20 16:46:52,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {1990#true} assume 2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0;#res := 1bv32; {2064#(= (_ bv1 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:52,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#(= (_ bv1 32) |__fpclassify_float_#res|)} assume true; {2064#(= (_ bv1 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:46:52,584 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2064#(= (_ bv1 32) |__fpclassify_float_#res|)} {1990#true} #137#return; {2071#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv1 32))} is VALID [2022-02-20 16:46:52,584 INFO L290 TraceCheckUtils]: 26: Hoare triple {2071#(= |ULTIMATE.start_fmin_float_#t~ret5#1| (_ bv1 32))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {1991#false} is VALID [2022-02-20 16:46:52,584 INFO L290 TraceCheckUtils]: 27: Hoare triple {1991#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {1991#false} is VALID [2022-02-20 16:46:52,584 INFO L272 TraceCheckUtils]: 28: Hoare triple {1991#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {1991#false} is VALID [2022-02-20 16:46:52,584 INFO L290 TraceCheckUtils]: 29: Hoare triple {1991#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {1991#false} is VALID [2022-02-20 16:46:52,584 INFO L290 TraceCheckUtils]: 30: Hoare triple {1991#false} assume true; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1991#false} {1991#false} #141#return; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L290 TraceCheckUtils]: 32: Hoare triple {1991#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L290 TraceCheckUtils]: 33: Hoare triple {1991#false} assume !main_#t~short21#1; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L290 TraceCheckUtils]: 34: Hoare triple {1991#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L290 TraceCheckUtils]: 35: Hoare triple {1991#false} assume !false; {1991#false} is VALID [2022-02-20 16:46:52,585 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:52,585 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:52,585 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:52,585 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1515958432] [2022-02-20 16:46:52,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1515958432] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:52,585 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:52,585 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:46:52,585 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077272843] [2022-02-20 16:46:52,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:52,586 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 36 [2022-02-20 16:46:52,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:52,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:52,612 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:46:52,612 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:52,612 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:46:52,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:52,612 INFO L87 Difference]: Start difference. First operand 56 states and 76 transitions. Second operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,758 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-02-20 16:46:52,758 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:46:52,758 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 36 [2022-02-20 16:46:52,758 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:52,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:52,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:46:52,761 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:46:52,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:52,827 INFO L225 Difference]: With dead ends: 79 [2022-02-20 16:46:52,827 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 16:46:52,827 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:46:52,828 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 0 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:52,828 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 209 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:46:52,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 16:46:52,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 16:46:52,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:52,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,831 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,832 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,833 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:52,833 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:52,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:52,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:52,834 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:52,834 INFO L87 Difference]: Start difference. First operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) Second operand 59 states. [2022-02-20 16:46:52,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:52,836 INFO L93 Difference]: Finished difference Result 59 states and 80 transitions. [2022-02-20 16:46:52,836 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 80 transitions. [2022-02-20 16:46:52,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:52,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:52,836 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:52,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:52,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 42 states have internal predecessors, (54), 10 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (12), 11 states have call predecessors, (12), 10 states have call successors, (12) [2022-02-20 16:46:52,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 76 transitions. [2022-02-20 16:46:52,838 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 76 transitions. Word has length 36 [2022-02-20 16:46:52,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:52,838 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 76 transitions. [2022-02-20 16:46:52,838 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 16:46:52,838 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 76 transitions. [2022-02-20 16:46:52,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 16:46:52,839 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:52,839 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:52,849 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 16:46:53,046 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:46:53,046 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:53,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:53,047 INFO L85 PathProgramCache]: Analyzing trace with hash 1662589572, now seen corresponding path program 1 times [2022-02-20 16:46:53,047 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:53,047 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1272567208] [2022-02-20 16:46:53,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:53,047 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:53,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:53,048 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:46:53,049 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 16:46:53,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:53,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:46:53,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:53,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:53,390 INFO L290 TraceCheckUtils]: 0: Hoare triple {2388#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2388#true} is VALID [2022-02-20 16:46:53,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {2388#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {2388#true} is VALID [2022-02-20 16:46:53,390 INFO L272 TraceCheckUtils]: 2: Hoare triple {2388#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {2388#true} is VALID [2022-02-20 16:46:53,391 INFO L290 TraceCheckUtils]: 3: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:53,392 INFO L290 TraceCheckUtils]: 4: Hoare triple {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:53,393 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {2388#true} #129#return; {2409#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:46:53,393 INFO L290 TraceCheckUtils]: 6: Hoare triple {2409#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {2413#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:46:53,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {2413#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume main_#t~short13#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,400 INFO L272 TraceCheckUtils]: 8: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {2388#true} is VALID [2022-02-20 16:46:53,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2388#true} is VALID [2022-02-20 16:46:53,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {2388#true} assume true; {2388#true} is VALID [2022-02-20 16:46:53,401 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2388#true} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 12: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,402 INFO L272 TraceCheckUtils]: 16: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {2388#true} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {2388#true} ~x := #in~x;havoc ~w~0; {2388#true} is VALID [2022-02-20 16:46:53,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {2388#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {2388#true} goto; {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {2388#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {2388#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {2388#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {2388#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {2388#true} assume true; {2388#true} is VALID [2022-02-20 16:46:53,403 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2388#true} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #137#return; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,404 INFO L290 TraceCheckUtils]: 27: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,404 INFO L272 TraceCheckUtils]: 28: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {2388#true} is VALID [2022-02-20 16:46:53,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:53,405 INFO L290 TraceCheckUtils]: 30: Hoare triple {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:53,406 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2402#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {2490#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv1 32))} is VALID [2022-02-20 16:46:53,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {2490#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv1 32))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {2494#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:46:53,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {2494#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1; {2389#false} is VALID [2022-02-20 16:46:53,406 INFO L290 TraceCheckUtils]: 34: Hoare triple {2389#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {2389#false} is VALID [2022-02-20 16:46:53,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {2389#false} assume !false; {2389#false} is VALID [2022-02-20 16:46:53,407 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:46:53,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:46:53,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {2389#false} assume !false; {2389#false} is VALID [2022-02-20 16:46:53,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {2389#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {2389#false} is VALID [2022-02-20 16:46:53,737 INFO L290 TraceCheckUtils]: 33: Hoare triple {2494#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1; {2389#false} is VALID [2022-02-20 16:46:53,737 INFO L290 TraceCheckUtils]: 32: Hoare triple {2513#(not (= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32)))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {2494#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:46:53,738 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2520#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {2513#(not (= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32)))} is VALID [2022-02-20 16:46:53,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {2520#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {2520#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:46:53,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2520#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:46:53,739 INFO L272 TraceCheckUtils]: 28: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {2388#true} is VALID [2022-02-20 16:46:53,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,740 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {2388#true} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #137#return; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 24: Hoare triple {2388#true} assume true; {2388#true} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {2388#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {2388#true} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {2388#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {2388#true} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {2388#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {2388#true} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {2388#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {2388#true} is VALID [2022-02-20 16:46:53,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {2388#true} goto; {2388#true} is VALID [2022-02-20 16:46:53,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {2388#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {2388#true} is VALID [2022-02-20 16:46:53,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {2388#true} ~x := #in~x;havoc ~w~0; {2388#true} is VALID [2022-02-20 16:46:53,741 INFO L272 TraceCheckUtils]: 16: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {2388#true} is VALID [2022-02-20 16:46:53,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,748 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2388#true} {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,748 INFO L290 TraceCheckUtils]: 10: Hoare triple {2388#true} assume true; {2388#true} is VALID [2022-02-20 16:46:53,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2388#true} is VALID [2022-02-20 16:46:53,748 INFO L272 TraceCheckUtils]: 8: Hoare triple {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {2388#true} is VALID [2022-02-20 16:46:53,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {2590#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} assume main_#t~short13#1; {2417#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:46:53,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {2594#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {2590#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} is VALID [2022-02-20 16:46:53,749 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2601#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} {2388#true} #129#return; {2594#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:46:53,750 INFO L290 TraceCheckUtils]: 4: Hoare triple {2601#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} assume true; {2601#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:46:53,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {2388#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {2601#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:46:53,750 INFO L272 TraceCheckUtils]: 2: Hoare triple {2388#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {2388#true} is VALID [2022-02-20 16:46:53,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {2388#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {2388#true} is VALID [2022-02-20 16:46:53,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {2388#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2388#true} is VALID [2022-02-20 16:46:53,751 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:53,751 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:53,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1272567208] [2022-02-20 16:46:53,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1272567208] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:46:53,751 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:46:53,751 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 13 [2022-02-20 16:46:53,751 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [949214670] [2022-02-20 16:46:53,752 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:46:53,752 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) Word has length 36 [2022-02-20 16:46:53,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:53,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:46:53,785 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:53,785 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 16:46:53,785 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:53,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 16:46:53,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:46:53,786 INFO L87 Difference]: Start difference. First operand 56 states and 76 transitions. Second operand has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:46:55,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:55,493 INFO L93 Difference]: Finished difference Result 102 states and 138 transitions. [2022-02-20 16:46:55,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 16:46:55,494 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) Word has length 36 [2022-02-20 16:46:55,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:55,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:46:55,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-02-20 16:46:55,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:46:55,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-02-20 16:46:55,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-02-20 16:46:55,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:55,596 INFO L225 Difference]: With dead ends: 102 [2022-02-20 16:46:55,596 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 16:46:55,596 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-02-20 16:46:55,597 INFO L933 BasicCegarLoop]: 85 mSDtfsCounter, 106 mSDsluCounter, 617 mSDsCounter, 0 mSdLazyCounter, 249 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 702 SdHoareTripleChecker+Invalid, 284 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 249 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:55,597 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 702 Invalid, 284 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 249 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 16:46:55,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 16:46:55,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 74. [2022-02-20 16:46:55,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:55,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:55,601 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:55,602 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:55,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:55,604 INFO L93 Difference]: Finished difference Result 88 states and 122 transitions. [2022-02-20 16:46:55,605 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 122 transitions. [2022-02-20 16:46:55,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:55,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:55,605 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) Second operand 88 states. [2022-02-20 16:46:55,605 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) Second operand 88 states. [2022-02-20 16:46:55,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:55,608 INFO L93 Difference]: Finished difference Result 88 states and 122 transitions. [2022-02-20 16:46:55,608 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 122 transitions. [2022-02-20 16:46:55,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:55,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:55,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:55,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:55,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.3148148148148149) internal successors, (71), 54 states have internal predecessors, (71), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:55,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 105 transitions. [2022-02-20 16:46:55,611 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 105 transitions. Word has length 36 [2022-02-20 16:46:55,611 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:55,611 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 105 transitions. [2022-02-20 16:46:55,611 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 9 states have internal predecessors, (33), 2 states have call successors, (4), 1 states have call predecessors, (4), 4 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:46:55,611 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 105 transitions. [2022-02-20 16:46:55,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 16:46:55,612 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:55,612 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:55,621 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 16:46:55,820 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:46:55,820 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:55,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:55,821 INFO L85 PathProgramCache]: Analyzing trace with hash 2045835875, now seen corresponding path program 1 times [2022-02-20 16:46:55,821 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:55,821 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [512151652] [2022-02-20 16:46:55,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:55,821 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:55,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:55,822 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:46:55,823 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 16:46:55,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:55,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:46:55,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:55,878 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:56,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {3022#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3022#true} is VALID [2022-02-20 16:46:56,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {3022#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {3022#true} is VALID [2022-02-20 16:46:56,063 INFO L272 TraceCheckUtils]: 2: Hoare triple {3022#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {3022#true} is VALID [2022-02-20 16:46:56,065 INFO L290 TraceCheckUtils]: 3: Hoare triple {3022#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:56,065 INFO L290 TraceCheckUtils]: 4: Hoare triple {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:56,066 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {3022#true} #129#return; {3043#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:46:56,066 INFO L290 TraceCheckUtils]: 6: Hoare triple {3043#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {3047#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:46:56,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {3047#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume !main_#t~short13#1; {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:46:56,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:46:56,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:46:56,067 INFO L272 TraceCheckUtils]: 10: Hoare triple {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {3022#true} is VALID [2022-02-20 16:46:56,068 INFO L290 TraceCheckUtils]: 11: Hoare triple {3022#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:56,068 INFO L290 TraceCheckUtils]: 12: Hoare triple {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:56,069 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {3036#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {3051#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {3070#(= |ULTIMATE.start_main_#t~ret14#1| (_ bv0 32))} is VALID [2022-02-20 16:46:56,069 INFO L290 TraceCheckUtils]: 14: Hoare triple {3070#(= |ULTIMATE.start_main_#t~ret14#1| (_ bv0 32))} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {3074#|ULTIMATE.start_main_#t~short16#1|} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 15: Hoare triple {3074#|ULTIMATE.start_main_#t~short16#1|} assume !main_#t~short16#1; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 16: Hoare triple {3023#false} main_#t~short17#1 := main_#t~short16#1; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 17: Hoare triple {3023#false} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L272 TraceCheckUtils]: 18: Hoare triple {3023#false} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 19: Hoare triple {3023#false} ~x := #in~x;havoc ~w~0; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {3023#false} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 21: Hoare triple {3023#false} goto; {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {3023#false} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {3023#false} is VALID [2022-02-20 16:46:56,070 INFO L290 TraceCheckUtils]: 23: Hoare triple {3023#false} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {3023#false} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {3023#false} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {3023#false} assume true; {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3023#false} {3023#false} #137#return; {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 28: Hoare triple {3023#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {3023#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L272 TraceCheckUtils]: 30: Hoare triple {3023#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {3023#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3023#false} is VALID [2022-02-20 16:46:56,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {3023#false} assume true; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3023#false} {3023#false} #141#return; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {3023#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {3023#false} assume !main_#t~short21#1; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L290 TraceCheckUtils]: 36: Hoare triple {3023#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L290 TraceCheckUtils]: 37: Hoare triple {3023#false} assume !false; {3023#false} is VALID [2022-02-20 16:46:56,072 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:46:56,072 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:46:56,073 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:56,073 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [512151652] [2022-02-20 16:46:56,073 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [512151652] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:46:56,073 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:46:56,073 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 16:46:56,073 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062037647] [2022-02-20 16:46:56,073 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:46:56,076 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-02-20 16:46:56,077 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:56,077 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:46:56,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:56,099 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:46:56,099 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:56,100 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:46:56,100 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:46:56,100 INFO L87 Difference]: Start difference. First operand 74 states and 105 transitions. Second operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:46:56,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:56,962 INFO L93 Difference]: Finished difference Result 127 states and 174 transitions. [2022-02-20 16:46:56,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:46:56,963 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-02-20 16:46:56,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:46:56,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:46:56,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 163 transitions. [2022-02-20 16:46:56,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:46:56,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 163 transitions. [2022-02-20 16:46:56,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 163 transitions. [2022-02-20 16:46:57,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:57,083 INFO L225 Difference]: With dead ends: 127 [2022-02-20 16:46:57,084 INFO L226 Difference]: Without dead ends: 87 [2022-02-20 16:46:57,084 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:46:57,084 INFO L933 BasicCegarLoop]: 82 mSDtfsCounter, 56 mSDsluCounter, 440 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 522 SdHoareTripleChecker+Invalid, 165 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:46:57,084 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 522 Invalid, 165 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 151 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 16:46:57,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-02-20 16:46:57,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 74. [2022-02-20 16:46:57,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:46:57,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:57,089 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:57,089 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:57,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:57,091 INFO L93 Difference]: Finished difference Result 87 states and 120 transitions. [2022-02-20 16:46:57,091 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 120 transitions. [2022-02-20 16:46:57,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:57,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:57,092 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) Second operand 87 states. [2022-02-20 16:46:57,092 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) Second operand 87 states. [2022-02-20 16:46:57,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:46:57,094 INFO L93 Difference]: Finished difference Result 87 states and 120 transitions. [2022-02-20 16:46:57,094 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 120 transitions. [2022-02-20 16:46:57,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:46:57,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:46:57,094 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:46:57,094 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:46:57,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.2962962962962963) internal successors, (70), 54 states have internal predecessors, (70), 15 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (19), 17 states have call predecessors, (19), 15 states have call successors, (19) [2022-02-20 16:46:57,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 104 transitions. [2022-02-20 16:46:57,096 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 104 transitions. Word has length 38 [2022-02-20 16:46:57,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:46:57,096 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 104 transitions. [2022-02-20 16:46:57,097 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 16:46:57,097 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 104 transitions. [2022-02-20 16:46:57,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 16:46:57,097 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:46:57,097 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:46:57,108 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 16:46:57,306 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:46:57,307 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:46:57,307 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:46:57,307 INFO L85 PathProgramCache]: Analyzing trace with hash -490349503, now seen corresponding path program 1 times [2022-02-20 16:46:57,307 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:46:57,307 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1258302263] [2022-02-20 16:46:57,307 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:46:57,307 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:46:57,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:46:57,308 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:46:57,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 16:46:57,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:57,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:46:57,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:46:57,368 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {3581#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {3581#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L272 TraceCheckUtils]: 2: Hoare triple {3581#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 4: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3581#true} {3581#true} #129#return; {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 6: Hoare triple {3581#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {3581#true} assume main_#t~short13#1; {3581#true} is VALID [2022-02-20 16:46:57,754 INFO L272 TraceCheckUtils]: 8: Hoare triple {3581#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {3581#true} is VALID [2022-02-20 16:46:57,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3613#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:57,756 INFO L290 TraceCheckUtils]: 10: Hoare triple {3613#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {3613#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:46:57,757 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3613#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {3581#true} #131#return; {3620#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:46:57,757 INFO L290 TraceCheckUtils]: 12: Hoare triple {3620#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {3624#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:46:57,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {3624#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} main_#t~short17#1 := main_#t~short13#1; {3628#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:46:57,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {3628#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1; {3632#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:57,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {3632#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {3636#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,759 INFO L272 TraceCheckUtils]: 16: Hoare triple {3636#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 17: Hoare triple {3581#true} ~x := #in~x;havoc ~w~0; {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {3581#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 19: Hoare triple {3581#true} goto; {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {3581#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {3581#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {3581#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {3581#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {3581#true} is VALID [2022-02-20 16:46:57,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:57,760 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3581#true} {3636#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #137#return; {3636#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {3636#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {3670#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {3670#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,760 INFO L272 TraceCheckUtils]: 28: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {3581#true} is VALID [2022-02-20 16:46:57,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:57,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:57,761 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3581#true} {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #141#return; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,762 INFO L272 TraceCheckUtils]: 34: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {3581#true} is VALID [2022-02-20 16:46:57,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:57,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:57,763 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3581#true} {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #143#return; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,763 INFO L290 TraceCheckUtils]: 38: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:57,764 INFO L290 TraceCheckUtils]: 39: Hoare triple {3674#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {3582#false} is VALID [2022-02-20 16:46:57,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {3582#false} assume !false; {3582#false} is VALID [2022-02-20 16:46:57,764 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 16:46:57,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:46:58,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {3582#false} assume !false; {3582#false} is VALID [2022-02-20 16:46:58,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {3582#false} is VALID [2022-02-20 16:46:58,096 INFO L290 TraceCheckUtils]: 38: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,096 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3581#true} {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} #143#return; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:58,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:58,096 INFO L272 TraceCheckUtils]: 34: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {3581#true} is VALID [2022-02-20 16:46:58,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short21#1; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,098 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3581#true} {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} #141#return; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:58,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:58,098 INFO L272 TraceCheckUtils]: 28: Hoare triple {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {3581#true} is VALID [2022-02-20 16:46:58,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {3754#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {3717#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {3758#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {3754#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,099 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3581#true} {3758#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} #137#return; {3758#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:58,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {3581#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {3581#true} is VALID [2022-02-20 16:46:58,099 INFO L290 TraceCheckUtils]: 22: Hoare triple {3581#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {3581#true} is VALID [2022-02-20 16:46:58,100 INFO L290 TraceCheckUtils]: 21: Hoare triple {3581#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {3581#true} is VALID [2022-02-20 16:46:58,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {3581#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {3581#true} is VALID [2022-02-20 16:46:58,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {3581#true} goto; {3581#true} is VALID [2022-02-20 16:46:58,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {3581#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {3581#true} is VALID [2022-02-20 16:46:58,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {3581#true} ~x := #in~x;havoc ~w~0; {3581#true} is VALID [2022-02-20 16:46:58,105 INFO L272 TraceCheckUtils]: 16: Hoare triple {3758#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {3581#true} is VALID [2022-02-20 16:46:58,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {3632#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {3758#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {3795#(or (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short17#1; {3632#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:46:58,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {3799#(or (not |ULTIMATE.start_main_#t~short13#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short17#1 := main_#t~short13#1; {3795#(or (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:58,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {3803#(or (not (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {3799#(or (not |ULTIMATE.start_main_#t~short13#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:58,113 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3810#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {3581#true} #131#return; {3803#(or (not (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:46:58,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {3810#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {3810#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:46:58,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3810#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:46:58,116 INFO L272 TraceCheckUtils]: 8: Hoare triple {3581#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {3581#true} is VALID [2022-02-20 16:46:58,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {3581#true} assume main_#t~short13#1; {3581#true} is VALID [2022-02-20 16:46:58,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {3581#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {3581#true} is VALID [2022-02-20 16:46:58,120 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3581#true} {3581#true} #129#return; {3581#true} is VALID [2022-02-20 16:46:58,120 INFO L290 TraceCheckUtils]: 4: Hoare triple {3581#true} assume true; {3581#true} is VALID [2022-02-20 16:46:58,121 INFO L290 TraceCheckUtils]: 3: Hoare triple {3581#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {3581#true} is VALID [2022-02-20 16:46:58,121 INFO L272 TraceCheckUtils]: 2: Hoare triple {3581#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {3581#true} is VALID [2022-02-20 16:46:58,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {3581#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {3581#true} is VALID [2022-02-20 16:46:58,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {3581#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3581#true} is VALID [2022-02-20 16:46:58,121 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 16:46:58,121 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:46:58,121 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1258302263] [2022-02-20 16:46:58,121 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1258302263] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:46:58,121 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:46:58,121 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 17 [2022-02-20 16:46:58,121 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1552954269] [2022-02-20 16:46:58,121 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:46:58,122 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) Word has length 41 [2022-02-20 16:46:58,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:46:58,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 16:46:58,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:46:58,163 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 16:46:58,164 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:46:58,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 16:46:58,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-02-20 16:46:58,164 INFO L87 Difference]: Start difference. First operand 74 states and 104 transitions. Second operand has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 16:47:00,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:00,534 INFO L93 Difference]: Finished difference Result 117 states and 162 transitions. [2022-02-20 16:47:00,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:47:00,535 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) Word has length 41 [2022-02-20 16:47:00,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:00,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 16:47:00,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 136 transitions. [2022-02-20 16:47:00,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 16:47:00,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 136 transitions. [2022-02-20 16:47:00,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 136 transitions. [2022-02-20 16:47:00,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:00,671 INFO L225 Difference]: With dead ends: 117 [2022-02-20 16:47:00,671 INFO L226 Difference]: Without dead ends: 115 [2022-02-20 16:47:00,672 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=129, Invalid=377, Unknown=0, NotChecked=0, Total=506 [2022-02-20 16:47:00,672 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 162 mSDsluCounter, 477 mSDsCounter, 0 mSdLazyCounter, 308 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 167 SdHoareTripleChecker+Valid, 535 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 308 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:00,672 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [167 Valid, 535 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 308 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-02-20 16:47:00,673 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-02-20 16:47:00,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 84. [2022-02-20 16:47:00,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:00,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:00,686 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:00,686 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:00,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:00,689 INFO L93 Difference]: Finished difference Result 115 states and 160 transitions. [2022-02-20 16:47:00,689 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 160 transitions. [2022-02-20 16:47:00,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:00,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:00,690 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) Second operand 115 states. [2022-02-20 16:47:00,690 INFO L87 Difference]: Start difference. First operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) Second operand 115 states. [2022-02-20 16:47:00,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:00,693 INFO L93 Difference]: Finished difference Result 115 states and 160 transitions. [2022-02-20 16:47:00,693 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 160 transitions. [2022-02-20 16:47:00,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:00,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:00,693 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:00,693 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:00,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:00,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 119 transitions. [2022-02-20 16:47:00,695 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 119 transitions. Word has length 41 [2022-02-20 16:47:00,695 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:00,696 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 119 transitions. [2022-02-20 16:47:00,696 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.2941176470588234) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (8), 1 states have call predecessors, (8), 3 states have return successors, (9), 7 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 16:47:00,696 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 119 transitions. [2022-02-20 16:47:00,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 16:47:00,696 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:00,696 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:00,704 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:00,904 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:00,904 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:00,905 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:00,905 INFO L85 PathProgramCache]: Analyzing trace with hash 38675638, now seen corresponding path program 1 times [2022-02-20 16:47:00,905 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:00,905 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [146415862] [2022-02-20 16:47:00,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:00,905 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:00,905 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:00,906 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:00,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 16:47:00,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:00,950 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 16:47:00,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:00,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {4340#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {4340#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L272 TraceCheckUtils]: 2: Hoare triple {4340#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 3: Hoare triple {4340#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 4: Hoare triple {4340#true} assume true; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4340#true} {4340#true} #129#return; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 6: Hoare triple {4340#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {4340#true} assume !main_#t~short13#1; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {4340#true} main_#t~short17#1 := main_#t~short13#1; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {4340#true} assume !main_#t~short17#1; {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L272 TraceCheckUtils]: 10: Hoare triple {4340#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {4340#true} is VALID [2022-02-20 16:47:01,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {4340#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {4340#true} assume true; {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4340#true} {4340#true} #133#return; {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {4340#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {4340#true} assume main_#t~short16#1; {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L272 TraceCheckUtils]: 16: Hoare triple {4340#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L290 TraceCheckUtils]: 17: Hoare triple {4340#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4340#true} is VALID [2022-02-20 16:47:01,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {4340#true} assume true; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4340#true} {4340#true} #135#return; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {4340#true} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {4340#true} main_#t~short17#1 := main_#t~short16#1; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {4340#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L272 TraceCheckUtils]: 23: Hoare triple {4340#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 24: Hoare triple {4340#true} ~x := #in~x;havoc ~w~0; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {4340#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {4340#true} goto; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {4340#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {4340#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {4340#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {4340#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {4340#true} assume true; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4340#true} {4340#true} #137#return; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {4340#true} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {4340#true} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L272 TraceCheckUtils]: 35: Hoare triple {4340#true} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {4340#true} is VALID [2022-02-20 16:47:01,016 INFO L290 TraceCheckUtils]: 36: Hoare triple {4340#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4340#true} is VALID [2022-02-20 16:47:01,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {4340#true} assume true; {4340#true} is VALID [2022-02-20 16:47:01,017 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4340#true} {4340#true} #141#return; {4340#true} is VALID [2022-02-20 16:47:01,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {4340#true} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {4340#true} is VALID [2022-02-20 16:47:01,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {4340#true} assume !main_#t~short21#1; {4465#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:47:01,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {4465#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {4341#false} is VALID [2022-02-20 16:47:01,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {4341#false} assume !false; {4341#false} is VALID [2022-02-20 16:47:01,018 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:47:01,018 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:01,018 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:01,018 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [146415862] [2022-02-20 16:47:01,018 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [146415862] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:01,018 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:01,018 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:47:01,018 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [429998573] [2022-02-20 16:47:01,018 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:01,019 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 43 [2022-02-20 16:47:01,019 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:01,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 16:47:01,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:01,040 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:47:01,040 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:01,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:47:01,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:47:01,040 INFO L87 Difference]: Start difference. First operand 84 states and 119 transitions. Second operand has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 16:47:01,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,120 INFO L93 Difference]: Finished difference Result 87 states and 122 transitions. [2022-02-20 16:47:01,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:47:01,121 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 43 [2022-02-20 16:47:01,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:01,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 16:47:01,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2022-02-20 16:47:01,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 16:47:01,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2022-02-20 16:47:01,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 73 transitions. [2022-02-20 16:47:01,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:01,170 INFO L225 Difference]: With dead ends: 87 [2022-02-20 16:47:01,170 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 16:47:01,171 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 41 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:47:01,171 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 0 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:01,171 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 133 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:01,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 16:47:01,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 84. [2022-02-20 16:47:01,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:01,175 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:01,176 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:01,176 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:01,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,178 INFO L93 Difference]: Finished difference Result 85 states and 120 transitions. [2022-02-20 16:47:01,178 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 120 transitions. [2022-02-20 16:47:01,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:01,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:01,179 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) Second operand 85 states. [2022-02-20 16:47:01,179 INFO L87 Difference]: Start difference. First operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) Second operand 85 states. [2022-02-20 16:47:01,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,181 INFO L93 Difference]: Finished difference Result 85 states and 120 transitions. [2022-02-20 16:47:01,181 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 120 transitions. [2022-02-20 16:47:01,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:01,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:01,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:01,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:01,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 61 states have (on average 1.278688524590164) internal successors, (78), 61 states have internal predecessors, (78), 18 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (23), 20 states have call predecessors, (23), 18 states have call successors, (23) [2022-02-20 16:47:01,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 119 transitions. [2022-02-20 16:47:01,183 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 119 transitions. Word has length 43 [2022-02-20 16:47:01,184 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:01,184 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 119 transitions. [2022-02-20 16:47:01,184 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 9.0) internal successors, (27), 3 states have internal predecessors, (27), 1 states have call successors, (5), 1 states have call predecessors, (5), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 16:47:01,184 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 119 transitions. [2022-02-20 16:47:01,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 16:47:01,188 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:01,188 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:01,214 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:01,396 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:01,396 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:01,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:01,396 INFO L85 PathProgramCache]: Analyzing trace with hash 972082008, now seen corresponding path program 1 times [2022-02-20 16:47:01,397 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:01,397 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [869683067] [2022-02-20 16:47:01,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:01,397 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:01,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:01,398 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:01,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 16:47:01,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:01,453 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:47:01,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:01,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:01,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {4860#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4860#true} is VALID [2022-02-20 16:47:01,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {4860#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {4860#true} is VALID [2022-02-20 16:47:01,553 INFO L272 TraceCheckUtils]: 2: Hoare triple {4860#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {4860#true} is VALID [2022-02-20 16:47:01,553 INFO L290 TraceCheckUtils]: 3: Hoare triple {4860#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4860#true} is VALID [2022-02-20 16:47:01,553 INFO L290 TraceCheckUtils]: 4: Hoare triple {4860#true} assume true; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4860#true} {4860#true} #129#return; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L290 TraceCheckUtils]: 6: Hoare triple {4860#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {4860#true} assume main_#t~short13#1; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L272 TraceCheckUtils]: 8: Hoare triple {4860#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {4860#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L290 TraceCheckUtils]: 10: Hoare triple {4860#true} assume true; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4860#true} {4860#true} #131#return; {4860#true} is VALID [2022-02-20 16:47:01,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {4860#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 13: Hoare triple {4860#true} main_#t~short17#1 := main_#t~short13#1; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {4860#true} assume main_#t~short17#1; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {4860#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L272 TraceCheckUtils]: 16: Hoare triple {4860#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {4860#true} ~x := #in~x;havoc ~w~0; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {4860#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {4860#true} goto; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {4860#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {4860#true} assume true; {4860#true} is VALID [2022-02-20 16:47:01,555 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4860#true} {4860#true} #137#return; {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {4860#true} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L272 TraceCheckUtils]: 24: Hoare triple {4860#true} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L290 TraceCheckUtils]: 25: Hoare triple {4860#true} ~x := #in~x;havoc ~w~0; {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {4860#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {4860#true} goto; {4860#true} is VALID [2022-02-20 16:47:01,556 INFO L290 TraceCheckUtils]: 28: Hoare triple {4860#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {4949#(= (_ bv2 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:01,557 INFO L290 TraceCheckUtils]: 29: Hoare triple {4949#(= (_ bv2 32) |__fpclassify_float_#res|)} assume true; {4949#(= (_ bv2 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:01,557 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4949#(= (_ bv2 32) |__fpclassify_float_#res|)} {4860#true} #139#return; {4956#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv2 32))} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 31: Hoare triple {4956#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv2 32))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L272 TraceCheckUtils]: 33: Hoare triple {4861#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 34: Hoare triple {4861#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#false} assume true; {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4861#false} {4861#false} #141#return; {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {4861#false} is VALID [2022-02-20 16:47:01,558 INFO L290 TraceCheckUtils]: 38: Hoare triple {4861#false} assume main_#t~short21#1; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L272 TraceCheckUtils]: 39: Hoare triple {4861#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#false} assume true; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4861#false} {4861#false} #143#return; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {4861#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {4861#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L290 TraceCheckUtils]: 45: Hoare triple {4861#false} assume !false; {4861#false} is VALID [2022-02-20 16:47:01,559 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:01,559 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:01,560 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:01,560 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [869683067] [2022-02-20 16:47:01,560 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [869683067] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:01,560 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:01,560 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:47:01,560 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [249509802] [2022-02-20 16:47:01,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:01,561 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 46 [2022-02-20 16:47:01,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:01,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:01,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:01,589 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:47:01,589 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:01,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:47:01,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:01,590 INFO L87 Difference]: Start difference. First operand 84 states and 119 transitions. Second operand has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:01,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,726 INFO L93 Difference]: Finished difference Result 113 states and 159 transitions. [2022-02-20 16:47:01,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:47:01,726 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 46 [2022-02-20 16:47:01,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:01,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:01,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:01,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:01,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:01,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:47:01,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:01,796 INFO L225 Difference]: With dead ends: 113 [2022-02-20 16:47:01,796 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 16:47:01,797 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:01,797 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 0 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:01,797 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 200 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:01,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 16:47:01,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-02-20 16:47:01,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:01,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:01,801 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:01,801 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:01,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,803 INFO L93 Difference]: Finished difference Result 88 states and 127 transitions. [2022-02-20 16:47:01,803 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 127 transitions. [2022-02-20 16:47:01,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:01,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:01,806 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 88 states. [2022-02-20 16:47:01,811 INFO L87 Difference]: Start difference. First operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 88 states. [2022-02-20 16:47:01,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:01,814 INFO L93 Difference]: Finished difference Result 88 states and 127 transitions. [2022-02-20 16:47:01,814 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 127 transitions. [2022-02-20 16:47:01,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:01,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:01,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:01,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:01,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:01,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 127 transitions. [2022-02-20 16:47:01,818 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 127 transitions. Word has length 46 [2022-02-20 16:47:01,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:01,818 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 127 transitions. [2022-02-20 16:47:01,818 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 3 states have internal predecessors, (27), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:01,819 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 127 transitions. [2022-02-20 16:47:01,819 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 16:47:01,819 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:01,819 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:01,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:02,027 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:02,027 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:02,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:02,028 INFO L85 PathProgramCache]: Analyzing trace with hash 411048800, now seen corresponding path program 1 times [2022-02-20 16:47:02,028 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:02,028 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [205529274] [2022-02-20 16:47:02,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:02,028 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:02,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:02,029 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:02,030 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 16:47:02,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:02,087 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:47:02,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:02,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:02,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {5434#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5434#true} is VALID [2022-02-20 16:47:02,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {5434#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {5434#true} is VALID [2022-02-20 16:47:02,186 INFO L272 TraceCheckUtils]: 2: Hoare triple {5434#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {5434#true} is VALID [2022-02-20 16:47:02,186 INFO L290 TraceCheckUtils]: 3: Hoare triple {5434#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {5434#true} is VALID [2022-02-20 16:47:02,186 INFO L290 TraceCheckUtils]: 4: Hoare triple {5434#true} assume true; {5434#true} is VALID [2022-02-20 16:47:02,186 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5434#true} {5434#true} #129#return; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 6: Hoare triple {5434#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {5434#true} assume main_#t~short13#1; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L272 TraceCheckUtils]: 8: Hoare triple {5434#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {5434#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 10: Hoare triple {5434#true} assume true; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5434#true} {5434#true} #131#return; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 12: Hoare triple {5434#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {5434#true} main_#t~short17#1 := main_#t~short13#1; {5434#true} is VALID [2022-02-20 16:47:02,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {5434#true} assume main_#t~short17#1; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {5434#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L272 TraceCheckUtils]: 16: Hoare triple {5434#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 17: Hoare triple {5434#true} ~x := #in~x;havoc ~w~0; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {5434#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {5434#true} goto; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {5434#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 21: Hoare triple {5434#true} assume true; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5434#true} {5434#true} #137#return; {5434#true} is VALID [2022-02-20 16:47:02,188 INFO L290 TraceCheckUtils]: 23: Hoare triple {5434#true} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L272 TraceCheckUtils]: 24: Hoare triple {5434#true} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {5434#true} ~x := #in~x;havoc ~w~0; {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {5434#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {5434#true} goto; {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {5434#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {5434#true} is VALID [2022-02-20 16:47:02,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {5434#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {5526#(= (_ bv4 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:02,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {5526#(= (_ bv4 32) |__fpclassify_float_#res|)} assume true; {5526#(= (_ bv4 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:02,190 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5526#(= (_ bv4 32) |__fpclassify_float_#res|)} {5434#true} #139#return; {5533#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv4 32))} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {5533#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv4 32))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 33: Hoare triple {5435#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L272 TraceCheckUtils]: 34: Hoare triple {5435#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {5435#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 36: Hoare triple {5435#false} assume true; {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5435#false} {5435#false} #141#return; {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 38: Hoare triple {5435#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {5435#false} is VALID [2022-02-20 16:47:02,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {5435#false} assume main_#t~short21#1; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L272 TraceCheckUtils]: 40: Hoare triple {5435#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L290 TraceCheckUtils]: 41: Hoare triple {5435#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {5435#false} assume true; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5435#false} {5435#false} #143#return; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L290 TraceCheckUtils]: 44: Hoare triple {5435#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L290 TraceCheckUtils]: 45: Hoare triple {5435#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L290 TraceCheckUtils]: 46: Hoare triple {5435#false} assume !false; {5435#false} is VALID [2022-02-20 16:47:02,192 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:02,192 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:02,193 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:02,193 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [205529274] [2022-02-20 16:47:02,193 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [205529274] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:02,193 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:02,193 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:47:02,193 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [100205192] [2022-02-20 16:47:02,193 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:02,194 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-02-20 16:47:02,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:02,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:02,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:02,222 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:47:02,222 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:02,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:47:02,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:02,223 INFO L87 Difference]: Start difference. First operand 88 states and 127 transitions. Second operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:02,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:02,346 INFO L93 Difference]: Finished difference Result 117 states and 167 transitions. [2022-02-20 16:47:02,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:47:02,346 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 47 [2022-02-20 16:47:02,346 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:02,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:02,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:02,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:02,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:02,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:47:02,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:02,418 INFO L225 Difference]: With dead ends: 117 [2022-02-20 16:47:02,419 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 16:47:02,419 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:02,419 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 0 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:02,420 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 209 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:02,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 16:47:02,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 88. [2022-02-20 16:47:02,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:02,427 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:02,428 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:02,428 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:02,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:02,431 INFO L93 Difference]: Finished difference Result 92 states and 135 transitions. [2022-02-20 16:47:02,431 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 135 transitions. [2022-02-20 16:47:02,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:02,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:02,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 92 states. [2022-02-20 16:47:02,433 INFO L87 Difference]: Start difference. First operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 92 states. [2022-02-20 16:47:02,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:02,435 INFO L93 Difference]: Finished difference Result 92 states and 135 transitions. [2022-02-20 16:47:02,435 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 135 transitions. [2022-02-20 16:47:02,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:02,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:02,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:02,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:02,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 64 states have (on average 1.265625) internal successors, (81), 63 states have internal predecessors, (81), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:02,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 127 transitions. [2022-02-20 16:47:02,438 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 127 transitions. Word has length 47 [2022-02-20 16:47:02,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:02,438 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 127 transitions. [2022-02-20 16:47:02,439 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:02,439 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 127 transitions. [2022-02-20 16:47:02,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:02,440 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:02,441 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:02,453 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Ended with exit code 0 [2022-02-20 16:47:02,648 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:02,648 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:02,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:02,648 INFO L85 PathProgramCache]: Analyzing trace with hash -877982242, now seen corresponding path program 1 times [2022-02-20 16:47:02,649 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:02,649 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1998094733] [2022-02-20 16:47:02,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:02,649 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:02,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:02,676 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:02,676 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 16:47:02,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:02,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 16:47:02,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:02,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:02,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {6023#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6023#true} is VALID [2022-02-20 16:47:02,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {6023#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {6023#true} is VALID [2022-02-20 16:47:02,932 INFO L272 TraceCheckUtils]: 2: Hoare triple {6023#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {6023#true} is VALID [2022-02-20 16:47:02,933 INFO L290 TraceCheckUtils]: 3: Hoare triple {6023#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:02,933 INFO L290 TraceCheckUtils]: 4: Hoare triple {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:02,934 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {6023#true} #129#return; {6044#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:02,934 INFO L290 TraceCheckUtils]: 6: Hoare triple {6044#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {6048#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:02,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {6048#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume main_#t~short13#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:02,935 INFO L272 TraceCheckUtils]: 8: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {6023#true} is VALID [2022-02-20 16:47:02,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {6023#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6023#true} is VALID [2022-02-20 16:47:02,935 INFO L290 TraceCheckUtils]: 10: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:02,935 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6023#true} {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:02,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 14: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 15: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:02,936 INFO L272 TraceCheckUtils]: 16: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {6023#true} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 17: Hoare triple {6023#true} ~x := #in~x;havoc ~w~0; {6023#true} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 18: Hoare triple {6023#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6023#true} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 19: Hoare triple {6023#true} goto; {6023#true} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {6023#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6023#true} is VALID [2022-02-20 16:47:02,936 INFO L290 TraceCheckUtils]: 21: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6023#true} {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} #137#return; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:02,937 INFO L272 TraceCheckUtils]: 24: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {6023#true} ~x := #in~x;havoc ~w~0; {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {6023#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {6023#true} goto; {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 28: Hoare triple {6023#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6023#true} is VALID [2022-02-20 16:47:02,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:02,938 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6023#true} {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} #139#return; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:02,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume ~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~x#1; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 33: Hoare triple {6024#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 34: Hoare triple {6024#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L272 TraceCheckUtils]: 35: Hoare triple {6024#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {6024#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {6024#false} assume true; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6024#false} {6024#false} #141#return; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 39: Hoare triple {6024#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {6024#false} assume main_#t~short21#1; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L272 TraceCheckUtils]: 41: Hoare triple {6024#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {6024#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 43: Hoare triple {6024#false} assume true; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6024#false} {6024#false} #143#return; {6024#false} is VALID [2022-02-20 16:47:02,939 INFO L290 TraceCheckUtils]: 45: Hoare triple {6024#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {6024#false} is VALID [2022-02-20 16:47:02,940 INFO L290 TraceCheckUtils]: 46: Hoare triple {6024#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {6024#false} is VALID [2022-02-20 16:47:02,940 INFO L290 TraceCheckUtils]: 47: Hoare triple {6024#false} assume !false; {6024#false} is VALID [2022-02-20 16:47:02,940 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 12 proven. 2 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:02,940 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:03,049 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:03,049 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1998094733] [2022-02-20 16:47:03,049 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1998094733] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:03,049 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1796126960] [2022-02-20 16:47:03,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:03,050 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 16:47:03,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 16:47:03,051 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 16:47:03,051 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (15)] Waiting until timeout for monitored process [2022-02-20 16:47:03,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:03,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 16:47:03,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:03,245 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:03,415 INFO L290 TraceCheckUtils]: 0: Hoare triple {6023#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6023#true} is VALID [2022-02-20 16:47:03,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {6023#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {6023#true} is VALID [2022-02-20 16:47:03,416 INFO L272 TraceCheckUtils]: 2: Hoare triple {6023#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {6023#true} is VALID [2022-02-20 16:47:03,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {6023#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:03,417 INFO L290 TraceCheckUtils]: 4: Hoare triple {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:03,417 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6037#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {6023#true} #129#return; {6044#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:03,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {6044#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {6048#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:03,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {6048#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume main_#t~short13#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:03,418 INFO L272 TraceCheckUtils]: 8: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {6023#true} is VALID [2022-02-20 16:47:03,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {6023#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6023#true} is VALID [2022-02-20 16:47:03,418 INFO L290 TraceCheckUtils]: 10: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:03,419 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6023#true} {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:03,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:03,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {6052#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:03,420 INFO L272 TraceCheckUtils]: 16: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {6023#true} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {6023#true} ~x := #in~x;havoc ~w~0; {6023#true} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {6023#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6023#true} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 19: Hoare triple {6023#true} goto; {6023#true} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {6023#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6023#true} is VALID [2022-02-20 16:47:03,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6023#true} {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} #137#return; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:03,421 INFO L272 TraceCheckUtils]: 24: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {6023#true} ~x := #in~x;havoc ~w~0; {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 26: Hoare triple {6023#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {6023#true} goto; {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 28: Hoare triple {6023#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6023#true} is VALID [2022-02-20 16:47:03,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {6023#true} assume true; {6023#true} is VALID [2022-02-20 16:47:03,422 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6023#true} {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} #139#return; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:03,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {6077#(not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|))} assume ~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~x#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {6024#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {6024#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L272 TraceCheckUtils]: 35: Hoare triple {6024#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {6024#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {6024#false} assume true; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6024#false} {6024#false} #141#return; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {6024#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 40: Hoare triple {6024#false} assume main_#t~short21#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L272 TraceCheckUtils]: 41: Hoare triple {6024#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {6024#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {6024#false} assume true; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6024#false} {6024#false} #143#return; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {6024#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {6024#false} is VALID [2022-02-20 16:47:03,423 INFO L290 TraceCheckUtils]: 46: Hoare triple {6024#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {6024#false} is VALID [2022-02-20 16:47:03,424 INFO L290 TraceCheckUtils]: 47: Hoare triple {6024#false} assume !false; {6024#false} is VALID [2022-02-20 16:47:03,424 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 12 proven. 2 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:03,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:03,480 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1796126960] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:03,480 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:03,480 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-02-20 16:47:03,480 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [997361005] [2022-02-20 16:47:03,480 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:03,481 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-02-20 16:47:03,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:03,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:47:03,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:03,516 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:47:03,516 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:03,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:47:03,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:47:03,517 INFO L87 Difference]: Start difference. First operand 88 states and 127 transitions. Second operand has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:47:04,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:04,541 INFO L93 Difference]: Finished difference Result 123 states and 168 transitions. [2022-02-20 16:47:04,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:47:04,541 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-02-20 16:47:04,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:04,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:47:04,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 137 transitions. [2022-02-20 16:47:04,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:47:04,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 137 transitions. [2022-02-20 16:47:04,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 137 transitions. [2022-02-20 16:47:04,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:04,648 INFO L225 Difference]: With dead ends: 123 [2022-02-20 16:47:04,648 INFO L226 Difference]: Without dead ends: 102 [2022-02-20 16:47:04,648 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 124 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:47:04,649 INFO L933 BasicCegarLoop]: 64 mSDtfsCounter, 68 mSDsluCounter, 269 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 333 SdHoareTripleChecker+Invalid, 145 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:04,649 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 333 Invalid, 145 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 16:47:04,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-02-20 16:47:04,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 88. [2022-02-20 16:47:04,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:04,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:04,652 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:04,653 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:04,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:04,655 INFO L93 Difference]: Finished difference Result 102 states and 143 transitions. [2022-02-20 16:47:04,655 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 143 transitions. [2022-02-20 16:47:04,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:04,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:04,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 102 states. [2022-02-20 16:47:04,656 INFO L87 Difference]: Start difference. First operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) Second operand 102 states. [2022-02-20 16:47:04,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:04,658 INFO L93 Difference]: Finished difference Result 102 states and 143 transitions. [2022-02-20 16:47:04,658 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 143 transitions. [2022-02-20 16:47:04,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:04,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:04,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:04,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:04,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 64 states have (on average 1.25) internal successors, (80), 63 states have internal predecessors, (80), 18 states have call successors, (18), 2 states have call predecessors, (18), 4 states have return successors, (28), 22 states have call predecessors, (28), 18 states have call successors, (28) [2022-02-20 16:47:04,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 126 transitions. [2022-02-20 16:47:04,660 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 126 transitions. Word has length 48 [2022-02-20 16:47:04,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:04,661 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 126 transitions. [2022-02-20 16:47:04,661 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.142857142857143) internal successors, (29), 6 states have internal predecessors, (29), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-02-20 16:47:04,661 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 126 transitions. [2022-02-20 16:47:04,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:04,661 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:04,661 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:04,666 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (15)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:04,874 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:05,064 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:05,065 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:05,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:05,065 INFO L85 PathProgramCache]: Analyzing trace with hash -1899050596, now seen corresponding path program 1 times [2022-02-20 16:47:05,065 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:05,065 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [424089395] [2022-02-20 16:47:05,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:05,066 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:05,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:05,066 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:05,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 16:47:05,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:05,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 16:47:05,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:05,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:05,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {6903#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6903#true} is VALID [2022-02-20 16:47:05,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {6903#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {6903#true} is VALID [2022-02-20 16:47:05,490 INFO L272 TraceCheckUtils]: 2: Hoare triple {6903#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {6903#true} is VALID [2022-02-20 16:47:05,490 INFO L290 TraceCheckUtils]: 3: Hoare triple {6903#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6903#true} is VALID [2022-02-20 16:47:05,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {6903#true} assume true; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6903#true} {6903#true} #129#return; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {6903#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {6903#true} assume main_#t~short13#1; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L272 TraceCheckUtils]: 8: Hoare triple {6903#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {6903#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 10: Hoare triple {6903#true} assume true; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6903#true} {6903#true} #131#return; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {6903#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {6903#true} main_#t~short17#1 := main_#t~short13#1; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {6903#true} assume main_#t~short17#1; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {6903#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:05,491 INFO L272 TraceCheckUtils]: 16: Hoare triple {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {6903#true} ~x := #in~x;havoc ~w~0; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {6903#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6903#true} is VALID [2022-02-20 16:47:05,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {6903#true} goto; {6903#true} is VALID [2022-02-20 16:47:05,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {6903#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6903#true} is VALID [2022-02-20 16:47:05,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {6903#true} assume true; {6903#true} is VALID [2022-02-20 16:47:05,492 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6903#true} {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} #137#return; {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:05,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:05,492 INFO L272 TraceCheckUtils]: 24: Hoare triple {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {6903#true} is VALID [2022-02-20 16:47:05,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {6903#true} ~x := #in~x;havoc ~w~0; {6984#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:05,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {6984#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {6988#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:05,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {6988#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {6988#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:05,500 INFO L290 TraceCheckUtils]: 28: Hoare triple {6988#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {6995#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:05,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {6995#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} assume true; {6995#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:05,501 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6995#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} {6953#(= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} #139#return; {7002#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (or (= |ULTIMATE.start_fmin_float_~y#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~y#1|)))} is VALID [2022-02-20 16:47:05,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {7002#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (or (= |ULTIMATE.start_fmin_float_~y#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~y#1|)))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {7002#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (or (= |ULTIMATE.start_fmin_float_~y#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~y#1|)))} is VALID [2022-02-20 16:47:05,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {7002#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (or (= |ULTIMATE.start_fmin_float_~y#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~y#1|)))} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {7009#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,502 INFO L290 TraceCheckUtils]: 33: Hoare triple {7009#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|))} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {7013#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))))} is VALID [2022-02-20 16:47:05,503 INFO L290 TraceCheckUtils]: 34: Hoare triple {7013#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,503 INFO L272 TraceCheckUtils]: 35: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {6903#true} is VALID [2022-02-20 16:47:05,503 INFO L290 TraceCheckUtils]: 36: Hoare triple {6903#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6903#true} is VALID [2022-02-20 16:47:05,503 INFO L290 TraceCheckUtils]: 37: Hoare triple {6903#true} assume true; {6903#true} is VALID [2022-02-20 16:47:05,503 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6903#true} {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} #141#return; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,504 INFO L272 TraceCheckUtils]: 41: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {6903#true} is VALID [2022-02-20 16:47:05,504 INFO L290 TraceCheckUtils]: 42: Hoare triple {6903#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {6903#true} is VALID [2022-02-20 16:47:05,504 INFO L290 TraceCheckUtils]: 43: Hoare triple {6903#true} assume true; {6903#true} is VALID [2022-02-20 16:47:05,505 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6903#true} {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} #143#return; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,505 INFO L290 TraceCheckUtils]: 45: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:05,506 INFO L290 TraceCheckUtils]: 46: Hoare triple {7017#(and (or (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~y~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {6904#false} is VALID [2022-02-20 16:47:05,506 INFO L290 TraceCheckUtils]: 47: Hoare triple {6904#false} assume !false; {6904#false} is VALID [2022-02-20 16:47:05,506 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 16:47:05,506 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:05,506 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:05,506 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [424089395] [2022-02-20 16:47:05,506 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [424089395] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:05,506 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:05,506 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:47:05,506 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2082338596] [2022-02-20 16:47:05,507 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:05,507 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 48 [2022-02-20 16:47:05,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:05,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:05,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:05,549 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:47:05,549 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:05,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:47:05,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:47:05,550 INFO L87 Difference]: Start difference. First operand 88 states and 126 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:07,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:07,218 INFO L93 Difference]: Finished difference Result 137 states and 191 transitions. [2022-02-20 16:47:07,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:07,219 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 48 [2022-02-20 16:47:07,219 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:07,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:07,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 122 transitions. [2022-02-20 16:47:07,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:07,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 122 transitions. [2022-02-20 16:47:07,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 122 transitions. [2022-02-20 16:47:07,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:07,410 INFO L225 Difference]: With dead ends: 137 [2022-02-20 16:47:07,410 INFO L226 Difference]: Without dead ends: 135 [2022-02-20 16:47:07,411 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:47:07,411 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 93 mSDsluCounter, 448 mSDsCounter, 0 mSdLazyCounter, 196 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 524 SdHoareTripleChecker+Invalid, 216 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 196 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:07,411 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [103 Valid, 524 Invalid, 216 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 196 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 16:47:07,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-02-20 16:47:07,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 100. [2022-02-20 16:47:07,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:07,415 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:07,416 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:07,417 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:07,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:07,420 INFO L93 Difference]: Finished difference Result 135 states and 189 transitions. [2022-02-20 16:47:07,420 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 189 transitions. [2022-02-20 16:47:07,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:07,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:07,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) Second operand 135 states. [2022-02-20 16:47:07,422 INFO L87 Difference]: Start difference. First operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) Second operand 135 states. [2022-02-20 16:47:07,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:07,424 INFO L93 Difference]: Finished difference Result 135 states and 189 transitions. [2022-02-20 16:47:07,424 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 189 transitions. [2022-02-20 16:47:07,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:07,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:07,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:07,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:07,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:07,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 145 transitions. [2022-02-20 16:47:07,427 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 145 transitions. Word has length 48 [2022-02-20 16:47:07,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:07,427 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 145 transitions. [2022-02-20 16:47:07,427 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 3 states have call successors, (6), 1 states have call predecessors, (6), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:07,427 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 145 transitions. [2022-02-20 16:47:07,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:07,428 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:07,428 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:07,449 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:07,628 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:07,629 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:07,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:07,629 INFO L85 PathProgramCache]: Analyzing trace with hash 505566420, now seen corresponding path program 1 times [2022-02-20 16:47:07,629 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:07,629 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1996338219] [2022-02-20 16:47:07,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:07,629 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:07,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:07,631 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:07,632 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2022-02-20 16:47:07,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:07,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:47:07,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:07,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 0: Hoare triple {7636#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {7636#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L272 TraceCheckUtils]: 2: Hoare triple {7636#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 3: Hoare triple {7636#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 4: Hoare triple {7636#true} assume true; {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7636#true} {7636#true} #129#return; {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 6: Hoare triple {7636#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {7636#true} assume main_#t~short13#1; {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L272 TraceCheckUtils]: 8: Hoare triple {7636#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {7636#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {7636#true} is VALID [2022-02-20 16:47:07,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {7636#true} assume true; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {7636#true} {7636#true} #131#return; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {7636#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {7636#true} main_#t~short17#1 := main_#t~short13#1; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {7636#true} assume main_#t~short17#1; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {7636#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L272 TraceCheckUtils]: 16: Hoare triple {7636#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {7636#true} ~x := #in~x;havoc ~w~0; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {7636#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {7636#true} goto; {7636#true} is VALID [2022-02-20 16:47:07,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {7636#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {7636#true} assume true; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7636#true} {7636#true} #137#return; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {7636#true} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L272 TraceCheckUtils]: 24: Hoare triple {7636#true} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {7636#true} ~x := #in~x;havoc ~w~0; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {7636#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {7636#true} goto; {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {7636#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {7636#true} is VALID [2022-02-20 16:47:07,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {7636#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {7636#true} is VALID [2022-02-20 16:47:07,795 INFO L290 TraceCheckUtils]: 30: Hoare triple {7636#true} assume (~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32));#res := 3bv32; {7731#(= (_ bv3 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:07,796 INFO L290 TraceCheckUtils]: 31: Hoare triple {7731#(= (_ bv3 32) |__fpclassify_float_#res|)} assume true; {7731#(= (_ bv3 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:07,796 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7731#(= (_ bv3 32) |__fpclassify_float_#res|)} {7636#true} #139#return; {7738#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv3 32))} is VALID [2022-02-20 16:47:07,797 INFO L290 TraceCheckUtils]: 33: Hoare triple {7738#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv3 32))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L290 TraceCheckUtils]: 34: Hoare triple {7637#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L272 TraceCheckUtils]: 35: Hoare triple {7637#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L290 TraceCheckUtils]: 36: Hoare triple {7637#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {7637#false} assume true; {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7637#false} {7637#false} #141#return; {7637#false} is VALID [2022-02-20 16:47:07,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {7637#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 40: Hoare triple {7637#false} assume main_#t~short21#1; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L272 TraceCheckUtils]: 41: Hoare triple {7637#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {7637#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {7637#false} assume true; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7637#false} {7637#false} #143#return; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 45: Hoare triple {7637#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 46: Hoare triple {7637#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L290 TraceCheckUtils]: 47: Hoare triple {7637#false} assume !false; {7637#false} is VALID [2022-02-20 16:47:07,798 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:07,799 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:07,799 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:07,799 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1996338219] [2022-02-20 16:47:07,801 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1996338219] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:07,801 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:07,801 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:47:07,801 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1130216653] [2022-02-20 16:47:07,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:07,802 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 48 [2022-02-20 16:47:07,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:07,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:07,828 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:07,829 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:47:07,829 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:07,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:47:07,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:07,830 INFO L87 Difference]: Start difference. First operand 100 states and 145 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:07,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:07,980 INFO L93 Difference]: Finished difference Result 129 states and 185 transitions. [2022-02-20 16:47:07,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:47:07,980 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 48 [2022-02-20 16:47:07,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:07,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:07,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:07,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:07,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-02-20 16:47:07,982 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-02-20 16:47:08,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:08,047 INFO L225 Difference]: With dead ends: 129 [2022-02-20 16:47:08,047 INFO L226 Difference]: Without dead ends: 104 [2022-02-20 16:47:08,047 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:08,048 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 0 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:08,048 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 209 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:08,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-02-20 16:47:08,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 100. [2022-02-20 16:47:08,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:08,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:08,053 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:08,053 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:08,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:08,056 INFO L93 Difference]: Finished difference Result 104 states and 153 transitions. [2022-02-20 16:47:08,056 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 153 transitions. [2022-02-20 16:47:08,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:08,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:08,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) Second operand 104 states. [2022-02-20 16:47:08,057 INFO L87 Difference]: Start difference. First operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) Second operand 104 states. [2022-02-20 16:47:08,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:08,059 INFO L93 Difference]: Finished difference Result 104 states and 153 transitions. [2022-02-20 16:47:08,059 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 153 transitions. [2022-02-20 16:47:08,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:08,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:08,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:08,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:08,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 74 states have (on average 1.2432432432432432) internal successors, (92), 72 states have internal predecessors, (92), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (34), 25 states have call predecessors, (34), 19 states have call successors, (34) [2022-02-20 16:47:08,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 145 transitions. [2022-02-20 16:47:08,062 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 145 transitions. Word has length 48 [2022-02-20 16:47:08,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:08,062 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 145 transitions. [2022-02-20 16:47:08,063 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:08,063 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 145 transitions. [2022-02-20 16:47:08,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:08,063 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:08,063 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:08,071 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Ended with exit code 0 [2022-02-20 16:47:08,271 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:08,271 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:08,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:08,271 INFO L85 PathProgramCache]: Analyzing trace with hash -1437385679, now seen corresponding path program 1 times [2022-02-20 16:47:08,272 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:08,272 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1040042890] [2022-02-20 16:47:08,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:08,272 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:08,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:08,273 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:08,273 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Waiting until timeout for monitored process [2022-02-20 16:47:08,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:08,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:47:08,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:08,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:08,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {8280#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8280#true} is VALID [2022-02-20 16:47:08,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {8280#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {8280#true} is VALID [2022-02-20 16:47:08,564 INFO L272 TraceCheckUtils]: 2: Hoare triple {8280#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,564 INFO L290 TraceCheckUtils]: 3: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:08,565 INFO L290 TraceCheckUtils]: 4: Hoare triple {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:08,566 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {8280#true} #129#return; {8301#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:08,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {8301#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {8305#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:08,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {8305#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume main_#t~short13#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,567 INFO L272 TraceCheckUtils]: 8: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {8280#true} is VALID [2022-02-20 16:47:08,567 INFO L290 TraceCheckUtils]: 9: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,567 INFO L290 TraceCheckUtils]: 10: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,567 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,567 INFO L290 TraceCheckUtils]: 12: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,568 INFO L272 TraceCheckUtils]: 16: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 17: Hoare triple {8280#true} ~x := #in~x;havoc ~w~0; {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {8280#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 19: Hoare triple {8280#true} goto; {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {8280#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {8280#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {8280#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {8280#true} is VALID [2022-02-20 16:47:08,568 INFO L290 TraceCheckUtils]: 23: Hoare triple {8280#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {8280#true} is VALID [2022-02-20 16:47:08,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,569 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #137#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,570 INFO L272 TraceCheckUtils]: 28: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,570 INFO L290 TraceCheckUtils]: 30: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,570 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,570 INFO L290 TraceCheckUtils]: 32: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short21#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,571 INFO L272 TraceCheckUtils]: 34: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {8280#true} is VALID [2022-02-20 16:47:08,571 INFO L290 TraceCheckUtils]: 35: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,571 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,572 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #143#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,577 INFO L290 TraceCheckUtils]: 38: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,578 INFO L272 TraceCheckUtils]: 40: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,578 INFO L290 TraceCheckUtils]: 41: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:08,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:08,579 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8294#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #145#return; {8418#(= |ULTIMATE.start_main_#t~ret22#1| (_ bv1 32))} is VALID [2022-02-20 16:47:08,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {8418#(= |ULTIMATE.start_main_#t~ret22#1| (_ bv1 32))} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {8422#(not |ULTIMATE.start_main_#t~short24#1|)} is VALID [2022-02-20 16:47:08,580 INFO L290 TraceCheckUtils]: 45: Hoare triple {8422#(not |ULTIMATE.start_main_#t~short24#1|)} assume !main_#t~short24#1; {8422#(not |ULTIMATE.start_main_#t~short24#1|)} is VALID [2022-02-20 16:47:08,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {8422#(not |ULTIMATE.start_main_#t~short24#1|)} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {8281#false} is VALID [2022-02-20 16:47:08,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {8281#false} assume !false; {8281#false} is VALID [2022-02-20 16:47:08,580 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:47:08,580 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:08,912 INFO L290 TraceCheckUtils]: 47: Hoare triple {8281#false} assume !false; {8281#false} is VALID [2022-02-20 16:47:08,912 INFO L290 TraceCheckUtils]: 46: Hoare triple {8422#(not |ULTIMATE.start_main_#t~short24#1|)} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {8281#false} is VALID [2022-02-20 16:47:08,912 INFO L290 TraceCheckUtils]: 45: Hoare triple {8422#(not |ULTIMATE.start_main_#t~short24#1|)} assume !main_#t~short24#1; {8422#(not |ULTIMATE.start_main_#t~short24#1|)} is VALID [2022-02-20 16:47:08,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {8441#(not (= |ULTIMATE.start_main_#t~ret22#1| (_ bv0 32)))} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {8422#(not |ULTIMATE.start_main_#t~short24#1|)} is VALID [2022-02-20 16:47:08,928 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8448#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #145#return; {8441#(not (= |ULTIMATE.start_main_#t~ret22#1| (_ bv0 32)))} is VALID [2022-02-20 16:47:08,928 INFO L290 TraceCheckUtils]: 42: Hoare triple {8448#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {8448#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:08,928 INFO L290 TraceCheckUtils]: 41: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8448#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:08,928 INFO L272 TraceCheckUtils]: 40: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,929 INFO L290 TraceCheckUtils]: 39: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,929 INFO L290 TraceCheckUtils]: 38: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,930 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #143#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,930 INFO L272 TraceCheckUtils]: 34: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {8280#true} is VALID [2022-02-20 16:47:08,931 INFO L290 TraceCheckUtils]: 33: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short21#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,931 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,932 INFO L272 TraceCheckUtils]: 28: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,933 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #137#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 24: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 23: Hoare triple {8280#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {8280#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 21: Hoare triple {8280#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {8280#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 19: Hoare triple {8280#true} goto; {8280#true} is VALID [2022-02-20 16:47:08,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {8280#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {8280#true} is VALID [2022-02-20 16:47:08,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {8280#true} ~x := #in~x;havoc ~w~0; {8280#true} is VALID [2022-02-20 16:47:08,934 INFO L272 TraceCheckUtils]: 16: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {8280#true} is VALID [2022-02-20 16:47:08,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short17#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,935 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8280#true} {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,935 INFO L290 TraceCheckUtils]: 10: Hoare triple {8280#true} assume true; {8280#true} is VALID [2022-02-20 16:47:08,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8280#true} is VALID [2022-02-20 16:47:08,936 INFO L272 TraceCheckUtils]: 8: Hoare triple {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {8280#true} is VALID [2022-02-20 16:47:08,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {8554#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} assume main_#t~short13#1; {8309#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:08,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {8558#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {8554#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} is VALID [2022-02-20 16:47:08,937 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {8565#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} {8280#true} #129#return; {8558#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:08,937 INFO L290 TraceCheckUtils]: 4: Hoare triple {8565#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} assume true; {8565#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:08,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {8280#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {8565#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:08,938 INFO L272 TraceCheckUtils]: 2: Hoare triple {8280#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {8280#true} is VALID [2022-02-20 16:47:08,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {8280#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {8280#true} is VALID [2022-02-20 16:47:08,938 INFO L290 TraceCheckUtils]: 0: Hoare triple {8280#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8280#true} is VALID [2022-02-20 16:47:08,938 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 8 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:47:08,938 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:08,938 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1040042890] [2022-02-20 16:47:08,938 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1040042890] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:08,938 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:08,939 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 13 [2022-02-20 16:47:08,939 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051339369] [2022-02-20 16:47:08,939 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:08,939 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) Word has length 48 [2022-02-20 16:47:08,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:08,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:08,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:08,973 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 16:47:08,973 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:08,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 16:47:08,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:47:08,974 INFO L87 Difference]: Start difference. First operand 100 states and 145 transitions. Second operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:10,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:10,497 INFO L93 Difference]: Finished difference Result 122 states and 170 transitions. [2022-02-20 16:47:10,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 16:47:10,497 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) Word has length 48 [2022-02-20 16:47:10,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:10,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:10,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-02-20 16:47:10,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:10,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-02-20 16:47:10,500 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 117 transitions. [2022-02-20 16:47:10,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:10,597 INFO L225 Difference]: With dead ends: 122 [2022-02-20 16:47:10,597 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 16:47:10,598 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-02-20 16:47:10,598 INFO L933 BasicCegarLoop]: 65 mSDtfsCounter, 92 mSDsluCounter, 431 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 496 SdHoareTripleChecker+Invalid, 231 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:10,598 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 496 Invalid, 231 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 16:47:10,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 16:47:10,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 95. [2022-02-20 16:47:10,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:10,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) [2022-02-20 16:47:10,603 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) [2022-02-20 16:47:10,604 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) [2022-02-20 16:47:10,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:10,606 INFO L93 Difference]: Finished difference Result 99 states and 140 transitions. [2022-02-20 16:47:10,606 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 140 transitions. [2022-02-20 16:47:10,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:10,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:10,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) Second operand 99 states. [2022-02-20 16:47:10,607 INFO L87 Difference]: Start difference. First operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) Second operand 99 states. [2022-02-20 16:47:10,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:10,609 INFO L93 Difference]: Finished difference Result 99 states and 140 transitions. [2022-02-20 16:47:10,609 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 140 transitions. [2022-02-20 16:47:10,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:10,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:10,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:10,610 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:10,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 69 states have (on average 1.2318840579710144) internal successors, (85), 69 states have internal predecessors, (85), 19 states have call successors, (19), 2 states have call predecessors, (19), 5 states have return successors, (33), 23 states have call predecessors, (33), 19 states have call successors, (33) [2022-02-20 16:47:10,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 137 transitions. [2022-02-20 16:47:10,612 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 137 transitions. Word has length 48 [2022-02-20 16:47:10,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:10,612 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 137 transitions. [2022-02-20 16:47:10,612 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 9 states have internal predecessors, (37), 2 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 5 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:10,612 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 137 transitions. [2022-02-20 16:47:10,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:10,613 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:10,613 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:10,622 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Ended with exit code 0 [2022-02-20 16:47:10,820 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:10,821 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:10,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:10,821 INFO L85 PathProgramCache]: Analyzing trace with hash 1803392071, now seen corresponding path program 1 times [2022-02-20 16:47:10,821 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:10,821 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [867637569] [2022-02-20 16:47:10,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:10,821 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:10,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:10,822 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:10,824 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2022-02-20 16:47:10,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:10,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:47:10,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:10,877 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:11,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {9059#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9059#true} is VALID [2022-02-20 16:47:11,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {9059#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {9059#true} is VALID [2022-02-20 16:47:11,095 INFO L272 TraceCheckUtils]: 2: Hoare triple {9059#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {9059#true} is VALID [2022-02-20 16:47:11,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:11,096 INFO L290 TraceCheckUtils]: 4: Hoare triple {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:11,097 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {9059#true} #129#return; {9080#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:11,097 INFO L290 TraceCheckUtils]: 6: Hoare triple {9080#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {9084#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:11,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {9084#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume main_#t~short13#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,098 INFO L272 TraceCheckUtils]: 8: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {9059#true} is VALID [2022-02-20 16:47:11,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9059#true} is VALID [2022-02-20 16:47:11,098 INFO L290 TraceCheckUtils]: 10: Hoare triple {9059#true} assume true; {9059#true} is VALID [2022-02-20 16:47:11,098 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9059#true} {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,099 INFO L290 TraceCheckUtils]: 13: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short17#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,099 INFO L272 TraceCheckUtils]: 15: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {9059#true} is VALID [2022-02-20 16:47:11,101 INFO L290 TraceCheckUtils]: 16: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:11,101 INFO L290 TraceCheckUtils]: 17: Hoare triple {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:11,102 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9073#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #133#return; {9122#(= |ULTIMATE.start_main_#t~ret14#1| (_ bv1 32))} is VALID [2022-02-20 16:47:11,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {9122#(= |ULTIMATE.start_main_#t~ret14#1| (_ bv1 32))} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {9126#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {9126#(not |ULTIMATE.start_main_#t~short16#1|)} assume !main_#t~short16#1; {9126#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {9126#(not |ULTIMATE.start_main_#t~short16#1|)} main_#t~short17#1 := main_#t~short16#1; {9133#(not |ULTIMATE.start_main_#t~short17#1|)} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {9133#(not |ULTIMATE.start_main_#t~short17#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L272 TraceCheckUtils]: 23: Hoare triple {9060#false} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 24: Hoare triple {9060#false} ~x := #in~x;havoc ~w~0; {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 25: Hoare triple {9060#false} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {9060#false} goto; {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {9060#false} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {9060#false} is VALID [2022-02-20 16:47:11,103 INFO L290 TraceCheckUtils]: 28: Hoare triple {9060#false} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 29: Hoare triple {9060#false} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {9060#false} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {9060#false} assume true; {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9060#false} {9060#false} #137#return; {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 33: Hoare triple {9060#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {9060#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L272 TraceCheckUtils]: 35: Hoare triple {9060#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 36: Hoare triple {9060#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9060#false} is VALID [2022-02-20 16:47:11,104 INFO L290 TraceCheckUtils]: 37: Hoare triple {9060#false} assume true; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9060#false} {9060#false} #141#return; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {9060#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {9060#false} assume main_#t~short21#1; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L272 TraceCheckUtils]: 41: Hoare triple {9060#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 42: Hoare triple {9060#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 43: Hoare triple {9060#false} assume true; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9060#false} {9060#false} #143#return; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 45: Hoare triple {9060#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 46: Hoare triple {9060#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {9060#false} is VALID [2022-02-20 16:47:11,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {9060#false} assume !false; {9060#false} is VALID [2022-02-20 16:47:11,106 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 20 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 16:47:11,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 47: Hoare triple {9060#false} assume !false; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 46: Hoare triple {9060#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 45: Hoare triple {9060#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9059#true} {9060#false} #143#return; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 43: Hoare triple {9059#true} assume true; {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 42: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L272 TraceCheckUtils]: 41: Hoare triple {9060#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 40: Hoare triple {9060#false} assume main_#t~short21#1; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 39: Hoare triple {9060#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9059#true} {9060#false} #141#return; {9060#false} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 37: Hoare triple {9059#true} assume true; {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L272 TraceCheckUtils]: 35: Hoare triple {9060#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {9059#true} is VALID [2022-02-20 16:47:11,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {9060#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {9060#false} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 33: Hoare triple {9060#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {9060#false} is VALID [2022-02-20 16:47:11,403 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9059#true} {9060#false} #137#return; {9060#false} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {9059#true} assume true; {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {9059#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {9059#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {9059#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {9059#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 26: Hoare triple {9059#true} goto; {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {9059#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {9059#true} ~x := #in~x;havoc ~w~0; {9059#true} is VALID [2022-02-20 16:47:11,403 INFO L272 TraceCheckUtils]: 23: Hoare triple {9060#false} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {9059#true} is VALID [2022-02-20 16:47:11,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {9133#(not |ULTIMATE.start_main_#t~short17#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {9060#false} is VALID [2022-02-20 16:47:11,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {9126#(not |ULTIMATE.start_main_#t~short16#1|)} main_#t~short17#1 := main_#t~short16#1; {9133#(not |ULTIMATE.start_main_#t~short17#1|)} is VALID [2022-02-20 16:47:11,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {9126#(not |ULTIMATE.start_main_#t~short16#1|)} assume !main_#t~short16#1; {9126#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:47:11,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {9296#(not (= |ULTIMATE.start_main_#t~ret14#1| (_ bv0 32)))} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {9126#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:47:11,405 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9303#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #133#return; {9296#(not (= |ULTIMATE.start_main_#t~ret14#1| (_ bv0 32)))} is VALID [2022-02-20 16:47:11,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {9303#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {9303#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:11,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9303#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:11,406 INFO L272 TraceCheckUtils]: 15: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {9059#true} is VALID [2022-02-20 16:47:11,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short17#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short17#1 := main_#t~short13#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,406 INFO L290 TraceCheckUtils]: 12: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,407 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9059#true} {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #131#return; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {9059#true} assume true; {9059#true} is VALID [2022-02-20 16:47:11,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9059#true} is VALID [2022-02-20 16:47:11,407 INFO L272 TraceCheckUtils]: 8: Hoare triple {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {9059#true} is VALID [2022-02-20 16:47:11,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {9334#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} assume main_#t~short13#1; {9088#(not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:11,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {9338#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {9334#(or (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|))} is VALID [2022-02-20 16:47:11,408 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9345#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} {9059#true} #129#return; {9338#(or (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:11,408 INFO L290 TraceCheckUtils]: 4: Hoare triple {9345#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} assume true; {9345#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:11,409 INFO L290 TraceCheckUtils]: 3: Hoare triple {9059#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9345#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:11,409 INFO L272 TraceCheckUtils]: 2: Hoare triple {9059#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {9059#true} is VALID [2022-02-20 16:47:11,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {9059#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {9059#true} is VALID [2022-02-20 16:47:11,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {9059#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9059#true} is VALID [2022-02-20 16:47:11,409 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 12 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:47:11,409 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:11,409 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [867637569] [2022-02-20 16:47:11,409 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [867637569] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:11,409 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:11,409 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-02-20 16:47:11,409 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167815243] [2022-02-20 16:47:11,409 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:11,410 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) Word has length 48 [2022-02-20 16:47:11,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:11,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:47:11,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:11,453 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 16:47:11,453 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:11,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 16:47:11,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:11,454 INFO L87 Difference]: Start difference. First operand 95 states and 137 transitions. Second operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:47:12,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:12,878 INFO L93 Difference]: Finished difference Result 133 states and 178 transitions. [2022-02-20 16:47:12,878 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:47:12,878 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) Word has length 48 [2022-02-20 16:47:12,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:12,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:47:12,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 137 transitions. [2022-02-20 16:47:12,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:47:12,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 137 transitions. [2022-02-20 16:47:12,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 137 transitions. [2022-02-20 16:47:12,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:12,982 INFO L225 Difference]: With dead ends: 133 [2022-02-20 16:47:12,982 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 16:47:12,983 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=93, Invalid=327, Unknown=0, NotChecked=0, Total=420 [2022-02-20 16:47:12,983 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 86 mSDsluCounter, 479 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 539 SdHoareTripleChecker+Invalid, 244 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:12,984 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 539 Invalid, 244 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 16:47:12,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 16:47:12,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 86. [2022-02-20 16:47:12,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:12,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) [2022-02-20 16:47:12,987 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) [2022-02-20 16:47:12,987 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) [2022-02-20 16:47:12,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:12,989 INFO L93 Difference]: Finished difference Result 89 states and 121 transitions. [2022-02-20 16:47:12,989 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 121 transitions. [2022-02-20 16:47:12,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:12,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:12,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) Second operand 89 states. [2022-02-20 16:47:12,990 INFO L87 Difference]: Start difference. First operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) Second operand 89 states. [2022-02-20 16:47:12,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:12,992 INFO L93 Difference]: Finished difference Result 89 states and 121 transitions. [2022-02-20 16:47:12,992 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 121 transitions. [2022-02-20 16:47:12,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:12,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:12,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:12,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:12,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 63 states have (on average 1.2063492063492063) internal successors, (76), 63 states have internal predecessors, (76), 16 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (27), 20 states have call predecessors, (27), 16 states have call successors, (27) [2022-02-20 16:47:12,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 119 transitions. [2022-02-20 16:47:12,994 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 119 transitions. Word has length 48 [2022-02-20 16:47:12,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:12,994 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 119 transitions. [2022-02-20 16:47:12,994 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 10 states have internal predecessors, (47), 3 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (11), 6 states have call predecessors, (11), 3 states have call successors, (11) [2022-02-20 16:47:12,994 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 119 transitions. [2022-02-20 16:47:12,995 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 16:47:12,995 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:12,995 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:13,005 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:13,202 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:13,203 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:13,203 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:13,203 INFO L85 PathProgramCache]: Analyzing trace with hash -495361713, now seen corresponding path program 1 times [2022-02-20 16:47:13,203 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:13,204 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1163301552] [2022-02-20 16:47:13,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:13,204 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:13,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:13,205 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:13,209 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2022-02-20 16:47:13,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:13,251 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:47:13,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:13,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:13,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {9823#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9823#true} is VALID [2022-02-20 16:47:13,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {9823#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {9823#true} is VALID [2022-02-20 16:47:13,477 INFO L272 TraceCheckUtils]: 2: Hoare triple {9823#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,478 INFO L290 TraceCheckUtils]: 3: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:13,478 INFO L290 TraceCheckUtils]: 4: Hoare triple {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:13,479 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {9823#true} #129#return; {9844#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:13,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {9844#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {9848#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:13,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {9848#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume !main_#t~short13#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,481 INFO L272 TraceCheckUtils]: 10: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9823#true} is VALID [2022-02-20 16:47:13,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,482 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,482 INFO L272 TraceCheckUtils]: 16: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {9823#true} is VALID [2022-02-20 16:47:13,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9823#true} is VALID [2022-02-20 16:47:13,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,483 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 22: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,484 INFO L272 TraceCheckUtils]: 23: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {9823#true} ~x := #in~x;havoc ~w~0; {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {9823#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {9823#true} goto; {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {9823#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 28: Hoare triple {9823#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {9823#true} is VALID [2022-02-20 16:47:13,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {9823#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {9823#true} is VALID [2022-02-20 16:47:13,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {9823#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {9823#true} is VALID [2022-02-20 16:47:13,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,485 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #137#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,485 INFO L290 TraceCheckUtils]: 33: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,486 INFO L272 TraceCheckUtils]: 35: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:13,487 INFO L290 TraceCheckUtils]: 37: Hoare triple {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:13,488 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9837#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #141#return; {9946#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32))} is VALID [2022-02-20 16:47:13,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {9946#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {9950#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:47:13,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {9950#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1; {9824#false} is VALID [2022-02-20 16:47:13,488 INFO L272 TraceCheckUtils]: 41: Hoare triple {9824#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {9824#false} is VALID [2022-02-20 16:47:13,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {9824#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9824#false} is VALID [2022-02-20 16:47:13,488 INFO L290 TraceCheckUtils]: 43: Hoare triple {9824#false} assume true; {9824#false} is VALID [2022-02-20 16:47:13,489 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9824#false} {9824#false} #143#return; {9824#false} is VALID [2022-02-20 16:47:13,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {9824#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {9824#false} is VALID [2022-02-20 16:47:13,489 INFO L290 TraceCheckUtils]: 46: Hoare triple {9824#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {9824#false} is VALID [2022-02-20 16:47:13,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {9824#false} assume !false; {9824#false} is VALID [2022-02-20 16:47:13,489 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:13,489 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:13,808 INFO L290 TraceCheckUtils]: 47: Hoare triple {9824#false} assume !false; {9824#false} is VALID [2022-02-20 16:47:13,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {9824#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {9824#false} is VALID [2022-02-20 16:47:13,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {9824#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {9824#false} is VALID [2022-02-20 16:47:13,808 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9823#true} {9824#false} #143#return; {9824#false} is VALID [2022-02-20 16:47:13,808 INFO L290 TraceCheckUtils]: 43: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9823#true} is VALID [2022-02-20 16:47:13,808 INFO L272 TraceCheckUtils]: 41: Hoare triple {9824#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {9823#true} is VALID [2022-02-20 16:47:13,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {9950#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1; {9824#false} is VALID [2022-02-20 16:47:13,809 INFO L290 TraceCheckUtils]: 39: Hoare triple {9946#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {9950#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:47:13,809 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10005#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #141#return; {9946#(= |ULTIMATE.start_main_#t~ret19#1| (_ bv0 32))} is VALID [2022-02-20 16:47:13,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {10005#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} assume true; {10005#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:13,810 INFO L290 TraceCheckUtils]: 36: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10005#(or (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv0 32)))} is VALID [2022-02-20 16:47:13,810 INFO L272 TraceCheckUtils]: 35: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,810 INFO L290 TraceCheckUtils]: 34: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,811 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #137#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,811 INFO L290 TraceCheckUtils]: 31: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,811 INFO L290 TraceCheckUtils]: 30: Hoare triple {9823#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {9823#true} is VALID [2022-02-20 16:47:13,811 INFO L290 TraceCheckUtils]: 29: Hoare triple {9823#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {9823#true} is VALID [2022-02-20 16:47:13,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {9823#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {9823#true} is VALID [2022-02-20 16:47:13,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {9823#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {9823#true} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 26: Hoare triple {9823#true} goto; {9823#true} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {9823#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {9823#true} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {9823#true} ~x := #in~x;havoc ~w~0; {9823#true} is VALID [2022-02-20 16:47:13,812 INFO L272 TraceCheckUtils]: 23: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {9823#true} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,813 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9823#true} is VALID [2022-02-20 16:47:13,813 INFO L272 TraceCheckUtils]: 16: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {9823#true} is VALID [2022-02-20 16:47:13,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,814 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {9823#true} {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,814 INFO L290 TraceCheckUtils]: 12: Hoare triple {9823#true} assume true; {9823#true} is VALID [2022-02-20 16:47:13,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {9823#true} is VALID [2022-02-20 16:47:13,814 INFO L272 TraceCheckUtils]: 10: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {10096#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short13#1; {9852#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:13,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {10100#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {10096#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:13,815 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10107#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {9823#true} #129#return; {10100#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:13,816 INFO L290 TraceCheckUtils]: 4: Hoare triple {10107#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {10107#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:13,816 INFO L290 TraceCheckUtils]: 3: Hoare triple {9823#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10107#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:13,816 INFO L272 TraceCheckUtils]: 2: Hoare triple {9823#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {9823#true} is VALID [2022-02-20 16:47:13,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {9823#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {9823#true} is VALID [2022-02-20 16:47:13,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {9823#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9823#true} is VALID [2022-02-20 16:47:13,816 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:47:13,816 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:13,816 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1163301552] [2022-02-20 16:47:13,816 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1163301552] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:13,817 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:13,817 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 16:47:13,817 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078370573] [2022-02-20 16:47:13,817 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:13,817 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) Word has length 48 [2022-02-20 16:47:13,817 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:13,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) [2022-02-20 16:47:13,851 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:47:13,851 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 16:47:13,851 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:13,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 16:47:13,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:47:13,852 INFO L87 Difference]: Start difference. First operand 86 states and 119 transitions. Second operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) [2022-02-20 16:47:14,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:14,816 INFO L93 Difference]: Finished difference Result 101 states and 133 transitions. [2022-02-20 16:47:14,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:14,816 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) Word has length 48 [2022-02-20 16:47:14,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:14,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) [2022-02-20 16:47:14,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-02-20 16:47:14,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) [2022-02-20 16:47:14,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-02-20 16:47:14,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 102 transitions. [2022-02-20 16:47:14,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:14,905 INFO L225 Difference]: With dead ends: 101 [2022-02-20 16:47:14,905 INFO L226 Difference]: Without dead ends: 82 [2022-02-20 16:47:14,906 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-02-20 16:47:14,906 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 53 mSDsluCounter, 412 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 475 SdHoareTripleChecker+Invalid, 184 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:14,906 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 475 Invalid, 184 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 16:47:14,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-02-20 16:47:14,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 74. [2022-02-20 16:47:14,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:14,909 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) [2022-02-20 16:47:14,909 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) [2022-02-20 16:47:14,909 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) [2022-02-20 16:47:14,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:14,911 INFO L93 Difference]: Finished difference Result 82 states and 110 transitions. [2022-02-20 16:47:14,911 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 110 transitions. [2022-02-20 16:47:14,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:14,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:14,911 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) Second operand 82 states. [2022-02-20 16:47:14,911 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) Second operand 82 states. [2022-02-20 16:47:14,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:14,913 INFO L93 Difference]: Finished difference Result 82 states and 110 transitions. [2022-02-20 16:47:14,913 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 110 transitions. [2022-02-20 16:47:14,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:14,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:14,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:14,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:14,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.1666666666666667) internal successors, (63), 55 states have internal predecessors, (63), 13 states have call successors, (13), 2 states have call predecessors, (13), 5 states have return successors, (24), 16 states have call predecessors, (24), 13 states have call successors, (24) [2022-02-20 16:47:14,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 100 transitions. [2022-02-20 16:47:14,915 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 100 transitions. Word has length 48 [2022-02-20 16:47:14,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:14,915 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 100 transitions. [2022-02-20 16:47:14,916 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 9 states have internal predecessors, (38), 3 states have call successors, (7), 2 states have call predecessors, (7), 5 states have return successors, (9), 5 states have call predecessors, (9), 3 states have call successors, (9) [2022-02-20 16:47:14,916 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 100 transitions. [2022-02-20 16:47:14,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 16:47:14,916 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:14,916 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:14,924 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:15,124 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:15,124 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:15,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:15,124 INFO L85 PathProgramCache]: Analyzing trace with hash 113915812, now seen corresponding path program 1 times [2022-02-20 16:47:15,125 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:15,125 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [299825878] [2022-02-20 16:47:15,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:15,125 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:15,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:15,126 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:15,167 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2022-02-20 16:47:15,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:15,191 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:47:15,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:15,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:15,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {10510#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {10510#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L272 TraceCheckUtils]: 2: Hoare triple {10510#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L290 TraceCheckUtils]: 3: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L290 TraceCheckUtils]: 4: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10510#true} {10510#true} #129#return; {10510#true} is VALID [2022-02-20 16:47:15,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {10510#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {10510#true} is VALID [2022-02-20 16:47:15,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {10510#true} assume main_#t~short13#1; {10510#true} is VALID [2022-02-20 16:47:15,663 INFO L272 TraceCheckUtils]: 8: Hoare triple {10510#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {10510#true} is VALID [2022-02-20 16:47:15,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10542#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:15,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {10542#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {10542#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:15,664 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10542#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {10510#true} #131#return; {10549#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:15,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {10549#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {10553#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:15,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {10553#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} main_#t~short17#1 := main_#t~short13#1; {10557#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {10557#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1; {10561#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {10561#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,666 INFO L272 TraceCheckUtils]: 16: Hoare triple {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {10510#true} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {10510#true} ~x := #in~x;havoc ~w~0; {10510#true} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 18: Hoare triple {10510#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {10510#true} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {10510#true} goto; {10510#true} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {10510#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {10510#true} is VALID [2022-02-20 16:47:15,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10510#true} {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #137#return; {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,667 INFO L272 TraceCheckUtils]: 24: Hoare triple {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {10510#true} ~x := #in~x;havoc ~w~0; {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 26: Hoare triple {10510#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {10510#true} goto; {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {10510#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 29: Hoare triple {10510#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {10510#true} is VALID [2022-02-20 16:47:15,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,668 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10510#true} {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #139#return; {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,668 INFO L290 TraceCheckUtils]: 33: Hoare triple {10565#(and (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {10620#(and (= |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,669 INFO L290 TraceCheckUtils]: 34: Hoare triple {10620#(and (= |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {10624#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {10624#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,669 INFO L272 TraceCheckUtils]: 36: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {10510#true} is VALID [2022-02-20 16:47:15,669 INFO L290 TraceCheckUtils]: 37: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,669 INFO L290 TraceCheckUtils]: 38: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,669 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10510#true} {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #141#return; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,670 INFO L290 TraceCheckUtils]: 41: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,670 INFO L272 TraceCheckUtils]: 42: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {10510#true} is VALID [2022-02-20 16:47:15,670 INFO L290 TraceCheckUtils]: 43: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,670 INFO L290 TraceCheckUtils]: 44: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,671 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10510#true} {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} #143#return; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,671 INFO L290 TraceCheckUtils]: 46: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,671 INFO L290 TraceCheckUtils]: 47: Hoare triple {10628#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {10511#false} is VALID [2022-02-20 16:47:15,671 INFO L290 TraceCheckUtils]: 48: Hoare triple {10511#false} assume !false; {10511#false} is VALID [2022-02-20 16:47:15,671 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:47:15,671 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:15,958 INFO L290 TraceCheckUtils]: 48: Hoare triple {10511#false} assume !false; {10511#false} is VALID [2022-02-20 16:47:15,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {10511#false} is VALID [2022-02-20 16:47:15,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,959 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10510#true} {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} #143#return; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,959 INFO L290 TraceCheckUtils]: 44: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,960 INFO L290 TraceCheckUtils]: 43: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,960 INFO L272 TraceCheckUtils]: 42: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {10510#true} is VALID [2022-02-20 16:47:15,960 INFO L290 TraceCheckUtils]: 41: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short21#1; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,964 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10510#true} {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} #141#return; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,964 INFO L290 TraceCheckUtils]: 37: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,964 INFO L272 TraceCheckUtils]: 36: Hoare triple {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {10510#true} is VALID [2022-02-20 16:47:15,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {10708#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {10671#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {10712#(fp.eq |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|)} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {10708#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {10712#(fp.eq |ULTIMATE.start_fmin_float_#t~ite7#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,965 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10510#true} {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} #139#return; {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {10510#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 28: Hoare triple {10510#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {10510#true} goto; {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {10510#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {10510#true} ~x := #in~x;havoc ~w~0; {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L272 TraceCheckUtils]: 24: Hoare triple {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,966 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10510#true} {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} #137#return; {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {10510#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {10510#true} is VALID [2022-02-20 16:47:15,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {10510#true} goto; {10510#true} is VALID [2022-02-20 16:47:15,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {10510#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {10510#true} is VALID [2022-02-20 16:47:15,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {10510#true} ~x := #in~x;havoc ~w~0; {10510#true} is VALID [2022-02-20 16:47:15,967 INFO L272 TraceCheckUtils]: 16: Hoare triple {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {10510#true} is VALID [2022-02-20 16:47:15,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {10561#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {10716#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {10774#(or (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} assume main_#t~short17#1; {10561#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:15,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {10778#(or (not |ULTIMATE.start_main_#t~short13#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short17#1 := main_#t~short13#1; {10774#(or (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {10782#(or (not (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {10778#(or (not |ULTIMATE.start_main_#t~short13#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,968 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10789#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {10510#true} #131#return; {10782#(or (not (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 10: Hoare triple {10789#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {10789#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10789#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:15,969 INFO L272 TraceCheckUtils]: 8: Hoare triple {10510#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {10510#true} assume main_#t~short13#1; {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {10510#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10510#true} {10510#true} #129#return; {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 4: Hoare triple {10510#true} assume true; {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 3: Hoare triple {10510#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L272 TraceCheckUtils]: 2: Hoare triple {10510#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {10510#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {10510#true} is VALID [2022-02-20 16:47:15,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {10510#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {10510#true} is VALID [2022-02-20 16:47:15,970 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 16:47:15,970 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:15,970 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [299825878] [2022-02-20 16:47:15,970 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [299825878] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:15,970 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:15,970 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2022-02-20 16:47:15,970 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1456091703] [2022-02-20 16:47:15,970 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:15,970 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) Word has length 49 [2022-02-20 16:47:15,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:15,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-20 16:47:16,033 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:47:16,033 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 16:47:16,033 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:16,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 16:47:16,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=264, Unknown=0, NotChecked=0, Total=342 [2022-02-20 16:47:16,034 INFO L87 Difference]: Start difference. First operand 74 states and 100 transitions. Second operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-20 16:47:17,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,012 INFO L93 Difference]: Finished difference Result 84 states and 111 transitions. [2022-02-20 16:47:17,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 16:47:17,012 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) Word has length 49 [2022-02-20 16:47:17,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:17,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-20 16:47:17,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-02-20 16:47:17,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-20 16:47:17,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-02-20 16:47:17,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 94 transitions. [2022-02-20 16:47:17,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:17,088 INFO L225 Difference]: With dead ends: 84 [2022-02-20 16:47:17,088 INFO L226 Difference]: Without dead ends: 72 [2022-02-20 16:47:17,088 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=155, Invalid=495, Unknown=0, NotChecked=0, Total=650 [2022-02-20 16:47:17,089 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 69 mSDsluCounter, 327 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 380 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:17,089 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 380 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 16:47:17,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-02-20 16:47:17,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 69. [2022-02-20 16:47:17,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:17,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) [2022-02-20 16:47:17,091 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) [2022-02-20 16:47:17,092 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) [2022-02-20 16:47:17,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,093 INFO L93 Difference]: Finished difference Result 72 states and 96 transitions. [2022-02-20 16:47:17,093 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 96 transitions. [2022-02-20 16:47:17,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:17,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:17,093 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) Second operand 72 states. [2022-02-20 16:47:17,094 INFO L87 Difference]: Start difference. First operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) Second operand 72 states. [2022-02-20 16:47:17,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,095 INFO L93 Difference]: Finished difference Result 72 states and 96 transitions. [2022-02-20 16:47:17,095 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 96 transitions. [2022-02-20 16:47:17,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:17,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:17,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:17,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:17,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 50 states have (on average 1.16) internal successors, (58), 51 states have internal predecessors, (58), 13 states have call successors, (13), 2 states have call predecessors, (13), 4 states have return successors, (20), 15 states have call predecessors, (20), 13 states have call successors, (20) [2022-02-20 16:47:17,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 91 transitions. [2022-02-20 16:47:17,097 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 91 transitions. Word has length 49 [2022-02-20 16:47:17,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:17,097 INFO L470 AbstractCegarLoop]: Abstraction has 69 states and 91 transitions. [2022-02-20 16:47:17,097 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 5 states have call successors, (10), 1 states have call predecessors, (10), 3 states have return successors, (11), 7 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-20 16:47:17,097 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 91 transitions. [2022-02-20 16:47:17,098 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 16:47:17,098 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:17,098 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:17,107 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:17,305 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:17,306 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:17,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:17,306 INFO L85 PathProgramCache]: Analyzing trace with hash -552676772, now seen corresponding path program 1 times [2022-02-20 16:47:17,306 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:17,306 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1949196284] [2022-02-20 16:47:17,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:17,307 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:17,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:17,308 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:17,310 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2022-02-20 16:47:17,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:17,363 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:47:17,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:17,373 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 0: Hoare triple {11170#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {11170#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L272 TraceCheckUtils]: 2: Hoare triple {11170#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 3: Hoare triple {11170#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 4: Hoare triple {11170#true} assume true; {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {11170#true} {11170#true} #129#return; {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 6: Hoare triple {11170#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {11170#true} is VALID [2022-02-20 16:47:17,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {11170#true} assume main_#t~short13#1; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L272 TraceCheckUtils]: 8: Hoare triple {11170#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {11170#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {11170#true} assume true; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {11170#true} {11170#true} #131#return; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 12: Hoare triple {11170#true} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {11170#true} main_#t~short17#1 := main_#t~short13#1; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {11170#true} assume main_#t~short17#1; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {11170#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L272 TraceCheckUtils]: 16: Hoare triple {11170#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {11170#true} is VALID [2022-02-20 16:47:17,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {11170#true} ~x := #in~x;havoc ~w~0; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {11170#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {11170#true} goto; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {11170#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {11170#true} assume true; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11170#true} {11170#true} #137#return; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {11170#true} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L272 TraceCheckUtils]: 24: Hoare triple {11170#true} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {11170#true} ~x := #in~x;havoc ~w~0; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 26: Hoare triple {11170#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {11170#true} is VALID [2022-02-20 16:47:17,451 INFO L290 TraceCheckUtils]: 27: Hoare triple {11170#true} goto; {11170#true} is VALID [2022-02-20 16:47:17,452 INFO L290 TraceCheckUtils]: 28: Hoare triple {11170#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {11170#true} is VALID [2022-02-20 16:47:17,452 INFO L290 TraceCheckUtils]: 29: Hoare triple {11170#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {11170#true} is VALID [2022-02-20 16:47:17,452 INFO L290 TraceCheckUtils]: 30: Hoare triple {11170#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {11170#true} is VALID [2022-02-20 16:47:17,452 INFO L290 TraceCheckUtils]: 31: Hoare triple {11170#true} assume 2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0;#res := 1bv32; {11268#(= (_ bv1 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:17,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {11268#(= (_ bv1 32) |__fpclassify_float_#res|)} assume true; {11268#(= (_ bv1 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:17,453 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11268#(= (_ bv1 32) |__fpclassify_float_#res|)} {11170#true} #139#return; {11275#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv1 32))} is VALID [2022-02-20 16:47:17,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {11275#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv1 32))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {11171#false} is VALID [2022-02-20 16:47:17,453 INFO L290 TraceCheckUtils]: 35: Hoare triple {11171#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {11171#false} is VALID [2022-02-20 16:47:17,453 INFO L272 TraceCheckUtils]: 36: Hoare triple {11171#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {11171#false} is VALID [2022-02-20 16:47:17,453 INFO L290 TraceCheckUtils]: 37: Hoare triple {11171#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {11171#false} assume true; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11171#false} {11171#false} #141#return; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 40: Hoare triple {11171#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 41: Hoare triple {11171#false} assume main_#t~short21#1; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L272 TraceCheckUtils]: 42: Hoare triple {11171#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 43: Hoare triple {11171#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 44: Hoare triple {11171#false} assume true; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11171#false} {11171#false} #143#return; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 46: Hoare triple {11171#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 47: Hoare triple {11171#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {11171#false} is VALID [2022-02-20 16:47:17,454 INFO L290 TraceCheckUtils]: 48: Hoare triple {11171#false} assume !false; {11171#false} is VALID [2022-02-20 16:47:17,455 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:17,455 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:17,456 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:17,457 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1949196284] [2022-02-20 16:47:17,457 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1949196284] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:17,457 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:17,457 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:47:17,457 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1280185482] [2022-02-20 16:47:17,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:17,458 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 49 [2022-02-20 16:47:17,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:17,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:17,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:17,484 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:47:17,484 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:17,485 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:47:17,485 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:17,485 INFO L87 Difference]: Start difference. First operand 69 states and 91 transitions. Second operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:17,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,608 INFO L93 Difference]: Finished difference Result 96 states and 121 transitions. [2022-02-20 16:47:17,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:47:17,608 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 49 [2022-02-20 16:47:17,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:17,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:17,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 96 transitions. [2022-02-20 16:47:17,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:17,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 96 transitions. [2022-02-20 16:47:17,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 96 transitions. [2022-02-20 16:47:17,671 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:17,675 INFO L225 Difference]: With dead ends: 96 [2022-02-20 16:47:17,675 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 16:47:17,676 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:17,677 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 0 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:17,677 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 201 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:17,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 16:47:17,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 67. [2022-02-20 16:47:17,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:17,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) [2022-02-20 16:47:17,687 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) [2022-02-20 16:47:17,687 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) [2022-02-20 16:47:17,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,688 INFO L93 Difference]: Finished difference Result 70 states and 91 transitions. [2022-02-20 16:47:17,688 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 91 transitions. [2022-02-20 16:47:17,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:17,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:17,689 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) Second operand 70 states. [2022-02-20 16:47:17,689 INFO L87 Difference]: Start difference. First operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) Second operand 70 states. [2022-02-20 16:47:17,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:17,690 INFO L93 Difference]: Finished difference Result 70 states and 91 transitions. [2022-02-20 16:47:17,690 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 91 transitions. [2022-02-20 16:47:17,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:17,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:17,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:17,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:17,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 49 states have (on average 1.163265306122449) internal successors, (57), 49 states have internal predecessors, (57), 13 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (16), 15 states have call predecessors, (16), 13 states have call successors, (16) [2022-02-20 16:47:17,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 86 transitions. [2022-02-20 16:47:17,693 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 86 transitions. Word has length 49 [2022-02-20 16:47:17,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:17,693 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 86 transitions. [2022-02-20 16:47:17,693 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 16:47:17,693 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 86 transitions. [2022-02-20 16:47:17,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 16:47:17,694 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:17,694 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:17,702 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:17,901 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:17,902 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:17,902 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:17,902 INFO L85 PathProgramCache]: Analyzing trace with hash -1549749125, now seen corresponding path program 1 times [2022-02-20 16:47:17,902 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:17,902 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [254636185] [2022-02-20 16:47:17,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:17,902 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:17,903 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:17,903 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:17,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Waiting until timeout for monitored process [2022-02-20 16:47:17,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:17,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 16:47:17,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:17,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:18,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {11667#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {11667#true} is VALID [2022-02-20 16:47:18,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {11667#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {11667#true} is VALID [2022-02-20 16:47:18,833 INFO L272 TraceCheckUtils]: 2: Hoare triple {11667#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L290 TraceCheckUtils]: 3: Hoare triple {11667#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L290 TraceCheckUtils]: 4: Hoare triple {11667#true} assume true; {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {11667#true} {11667#true} #129#return; {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L290 TraceCheckUtils]: 6: Hoare triple {11667#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {11667#true} assume main_#t~short13#1; {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L272 TraceCheckUtils]: 8: Hoare triple {11667#true} call main_#t~ret12#1 := isnan_float(main_~y~0#1); {11667#true} is VALID [2022-02-20 16:47:18,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {11667#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11699#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:18,835 INFO L290 TraceCheckUtils]: 10: Hoare triple {11699#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {11699#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:18,836 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {11699#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {11667#true} #131#return; {11706#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:18,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {11706#(or (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short13#1 := 0bv32 == main_#t~ret12#1; {11710#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {11710#(or (and |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short13#1|)))} main_#t~short17#1 := main_#t~short13#1; {11714#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 14: Hoare triple {11714#(or (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not |ULTIMATE.start_main_#t~short17#1|)) (and |ULTIMATE.start_main_#t~short17#1| (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1; {11718#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {11718#(fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} is VALID [2022-02-20 16:47:18,837 INFO L272 TraceCheckUtils]: 16: Hoare triple {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {11667#true} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {11667#true} ~x := #in~x;havoc ~w~0; {11667#true} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {11667#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {11667#true} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {11667#true} goto; {11667#true} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {11667#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {11667#true} is VALID [2022-02-20 16:47:18,837 INFO L290 TraceCheckUtils]: 21: Hoare triple {11667#true} assume true; {11667#true} is VALID [2022-02-20 16:47:18,838 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11667#true} {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} #137#return; {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} is VALID [2022-02-20 16:47:18,838 INFO L290 TraceCheckUtils]: 23: Hoare triple {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} is VALID [2022-02-20 16:47:18,838 INFO L272 TraceCheckUtils]: 24: Hoare triple {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {11667#true} is VALID [2022-02-20 16:47:18,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {11667#true} ~x := #in~x;havoc ~w~0; {11753#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:18,845 INFO L290 TraceCheckUtils]: 26: Hoare triple {11753#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {11757#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:18,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {11757#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {11757#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:18,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {11757#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {11764#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))))} is VALID [2022-02-20 16:47:18,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {11764#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))))} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {11768#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (or (not (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)))))} is VALID [2022-02-20 16:47:18,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {11768#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (or (not (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)))))} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {11772#(and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)))))} is VALID [2022-02-20 16:47:18,849 INFO L290 TraceCheckUtils]: 31: Hoare triple {11772#(and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)))))} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {11776#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} is VALID [2022-02-20 16:47:18,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {11776#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} assume true; {11776#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} is VALID [2022-02-20 16:47:18,851 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11776#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} {11722#(fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)} #139#return; {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {11668#false} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {11668#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L272 TraceCheckUtils]: 36: Hoare triple {11668#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {11668#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {11668#false} assume true; {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11668#false} {11668#false} #141#return; {11668#false} is VALID [2022-02-20 16:47:18,851 INFO L290 TraceCheckUtils]: 40: Hoare triple {11668#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 41: Hoare triple {11668#false} assume main_#t~short21#1; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L272 TraceCheckUtils]: 42: Hoare triple {11668#false} call main_#t~ret20#1 := isnan_float(main_~y~0#1); {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 43: Hoare triple {11668#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 44: Hoare triple {11668#false} assume true; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11668#false} {11668#false} #143#return; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 46: Hoare triple {11668#false} main_#t~short21#1 := 0bv32 == main_#t~ret20#1; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 47: Hoare triple {11668#false} assume main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1);havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L290 TraceCheckUtils]: 48: Hoare triple {11668#false} assume !false; {11668#false} is VALID [2022-02-20 16:47:18,852 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 16:47:18,852 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:18,852 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:18,852 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [254636185] [2022-02-20 16:47:18,852 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [254636185] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:18,853 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:18,853 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-02-20 16:47:18,853 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383491822] [2022-02-20 16:47:18,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:18,853 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 49 [2022-02-20 16:47:18,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:18,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:18,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:18,891 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 16:47:18,892 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:18,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 16:47:18,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=151, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:18,892 INFO L87 Difference]: Start difference. First operand 67 states and 86 transitions. Second operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:20,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:20,588 INFO L93 Difference]: Finished difference Result 90 states and 116 transitions. [2022-02-20 16:47:20,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 16:47:20,588 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 49 [2022-02-20 16:47:20,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:20,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:20,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-02-20 16:47:20,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:20,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-02-20 16:47:20,591 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 114 transitions. [2022-02-20 16:47:20,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:20,704 INFO L225 Difference]: With dead ends: 90 [2022-02-20 16:47:20,704 INFO L226 Difference]: Without dead ends: 69 [2022-02-20 16:47:20,705 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-02-20 16:47:20,705 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 48 mSDsluCounter, 456 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 513 SdHoareTripleChecker+Invalid, 383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 58 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:20,705 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 513 Invalid, 383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 322 Invalid, 0 Unknown, 58 Unchecked, 0.6s Time] [2022-02-20 16:47:20,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-02-20 16:47:20,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 49. [2022-02-20 16:47:20,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:20,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:20,707 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:20,707 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:20,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:20,709 INFO L93 Difference]: Finished difference Result 69 states and 87 transitions. [2022-02-20 16:47:20,709 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 87 transitions. [2022-02-20 16:47:20,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:20,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:20,710 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) Second operand 69 states. [2022-02-20 16:47:20,710 INFO L87 Difference]: Start difference. First operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) Second operand 69 states. [2022-02-20 16:47:20,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:20,711 INFO L93 Difference]: Finished difference Result 69 states and 87 transitions. [2022-02-20 16:47:20,711 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 87 transitions. [2022-02-20 16:47:20,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:20,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:20,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:20,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:20,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 37 states have (on average 1.1891891891891893) internal successors, (44), 36 states have internal predecessors, (44), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (10), 10 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:20,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 62 transitions. [2022-02-20 16:47:20,712 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 62 transitions. Word has length 49 [2022-02-20 16:47:20,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:20,713 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 62 transitions. [2022-02-20 16:47:20,713 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 3 states have call successors, (6), 2 states have call predecessors, (6), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 16:47:20,713 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 62 transitions. [2022-02-20 16:47:20,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-02-20 16:47:20,713 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:20,713 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:20,723 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:20,921 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:20,921 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:20,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:20,922 INFO L85 PathProgramCache]: Analyzing trace with hash -1451512262, now seen corresponding path program 1 times [2022-02-20 16:47:20,922 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:20,922 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1182360461] [2022-02-20 16:47:20,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:20,922 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:20,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:20,923 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:20,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Waiting until timeout for monitored process [2022-02-20 16:47:20,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:20,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 16:47:20,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:20,988 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:21,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {12161#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {12161#true} is VALID [2022-02-20 16:47:21,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {12161#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {12161#true} is VALID [2022-02-20 16:47:21,792 INFO L272 TraceCheckUtils]: 2: Hoare triple {12161#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:21,793 INFO L290 TraceCheckUtils]: 3: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12175#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:21,793 INFO L290 TraceCheckUtils]: 4: Hoare triple {12175#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {12175#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:21,794 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {12175#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {12161#true} #129#return; {12182#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:21,794 INFO L290 TraceCheckUtils]: 6: Hoare triple {12182#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {12186#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:21,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {12186#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume !main_#t~short13#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,795 INFO L272 TraceCheckUtils]: 10: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:21,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:21,795 INFO L290 TraceCheckUtils]: 12: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:21,797 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {12161#true} {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,798 INFO L272 TraceCheckUtils]: 16: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {12161#true} is VALID [2022-02-20 16:47:21,798 INFO L290 TraceCheckUtils]: 17: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:21,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:21,798 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12161#true} {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:21,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} is VALID [2022-02-20 16:47:21,799 INFO L272 TraceCheckUtils]: 23: Hoare triple {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {12161#true} is VALID [2022-02-20 16:47:21,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {12161#true} ~x := #in~x;havoc ~w~0; {12243#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:21,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {12243#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {12247#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:21,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {12247#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {12247#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:21,807 INFO L290 TraceCheckUtils]: 27: Hoare triple {12247#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {12254#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))))} is VALID [2022-02-20 16:47:21,807 INFO L290 TraceCheckUtils]: 28: Hoare triple {12254#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))))} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {12258#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (or (not (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)))))} is VALID [2022-02-20 16:47:21,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {12258#(and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (or (not (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)))))} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {12262#(and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)))))} is VALID [2022-02-20 16:47:21,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {12262#(and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)))))} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {12266#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} is VALID [2022-02-20 16:47:21,811 INFO L290 TraceCheckUtils]: 31: Hoare triple {12266#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} assume true; {12266#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} is VALID [2022-02-20 16:47:21,812 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12266#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (not (= (_ bv4286578688 32) __fpclassify_float_~w~0)) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (not (bvule __fpclassify_float_~w~0 (_ bv4286578687 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32)))) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32))) (not (= __fpclassify_float_~w~0 (_ bv2139095040 32))) (not (bvule __fpclassify_float_~w~0 (_ bv2139095039 32))) (or (not (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32))))))} {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} #137#return; {12162#false} is VALID [2022-02-20 16:47:21,812 INFO L290 TraceCheckUtils]: 33: Hoare triple {12162#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {12162#false} is VALID [2022-02-20 16:47:21,812 INFO L290 TraceCheckUtils]: 34: Hoare triple {12162#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {12162#false} is VALID [2022-02-20 16:47:21,812 INFO L272 TraceCheckUtils]: 35: Hoare triple {12162#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {12162#false} is VALID [2022-02-20 16:47:21,812 INFO L290 TraceCheckUtils]: 36: Hoare triple {12162#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {12162#false} assume true; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12162#false} {12162#false} #141#return; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {12162#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 40: Hoare triple {12162#false} assume !main_#t~short21#1; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 41: Hoare triple {12162#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L272 TraceCheckUtils]: 42: Hoare triple {12162#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 43: Hoare triple {12162#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 44: Hoare triple {12162#false} assume true; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12162#false} {12162#false} #145#return; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 46: Hoare triple {12162#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 47: Hoare triple {12162#false} assume main_#t~short24#1; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L272 TraceCheckUtils]: 48: Hoare triple {12162#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 49: Hoare triple {12162#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 50: Hoare triple {12162#false} assume true; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {12162#false} {12162#false} #147#return; {12162#false} is VALID [2022-02-20 16:47:21,813 INFO L290 TraceCheckUtils]: 52: Hoare triple {12162#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {12162#false} is VALID [2022-02-20 16:47:21,814 INFO L290 TraceCheckUtils]: 53: Hoare triple {12162#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {12162#false} is VALID [2022-02-20 16:47:21,814 INFO L290 TraceCheckUtils]: 54: Hoare triple {12162#false} assume !false; {12162#false} is VALID [2022-02-20 16:47:21,814 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 27 proven. 4 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-20 16:47:21,814 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:23,329 INFO L290 TraceCheckUtils]: 54: Hoare triple {12162#false} assume !false; {12162#false} is VALID [2022-02-20 16:47:23,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {12162#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {12162#false} is VALID [2022-02-20 16:47:23,329 INFO L290 TraceCheckUtils]: 52: Hoare triple {12162#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {12162#false} is VALID [2022-02-20 16:47:23,329 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {12161#true} {12162#false} #147#return; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 49: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L272 TraceCheckUtils]: 48: Hoare triple {12162#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 47: Hoare triple {12162#false} assume main_#t~short24#1; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 46: Hoare triple {12162#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12161#true} {12162#false} #145#return; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 43: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L272 TraceCheckUtils]: 42: Hoare triple {12162#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 41: Hoare triple {12162#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 40: Hoare triple {12162#false} assume !main_#t~short21#1; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 39: Hoare triple {12162#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12161#true} {12162#false} #141#return; {12162#false} is VALID [2022-02-20 16:47:23,330 INFO L290 TraceCheckUtils]: 37: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:23,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:23,331 INFO L272 TraceCheckUtils]: 35: Hoare triple {12162#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:23,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {12162#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {12162#false} is VALID [2022-02-20 16:47:23,331 INFO L290 TraceCheckUtils]: 33: Hoare triple {12162#false} assume 0bv32 == fmin_float_#t~ret5#1;havoc fmin_float_#t~ret5#1;fmin_float_#res#1 := fmin_float_~y#1; {12162#false} is VALID [2022-02-20 16:47:23,334 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12408#(not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|))} {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} #137#return; {12162#false} is VALID [2022-02-20 16:47:23,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {12408#(not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|))} assume true; {12408#(not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|))} is VALID [2022-02-20 16:47:23,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {12415#(or (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {12408#(not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|))} is VALID [2022-02-20 16:47:23,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {12419#(or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {12415#(or (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {12423#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {12419#(or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {12427#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (= __fpclassify_float_~w~0 (_ bv2147483648 32)) (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (bvadd (_ bv8388608 32) __fpclassify_float_~w~0) (_ bv0 32)) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {12423#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))) (= (_ bv4286578688 32) __fpclassify_float_~w~0) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {12427#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (= __fpclassify_float_~w~0 (_ bv2147483648 32)) (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (bvadd (_ bv8388608 32) __fpclassify_float_~w~0) (_ bv0 32)) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} goto; {12427#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (= __fpclassify_float_~w~0 (_ bv2147483648 32)) (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (bvadd (_ bv8388608 32) __fpclassify_float_~w~0) (_ bv0 32)) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {12434#(or (forall ((|v_skolemized_q#valueAsBitvector_36| (_ BitVec 32))) (or (= |v_skolemized_q#valueAsBitvector_36| (_ bv2139095040 32)) (and (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv4286578687 32)) (bvuge |v_skolemized_q#valueAsBitvector_36| (_ bv2155872256 32))) (= |v_skolemized_q#valueAsBitvector_36| (_ bv2147483648 32)) (not (= (fp ((_ extract 31 31) |v_skolemized_q#valueAsBitvector_36|) ((_ extract 30 23) |v_skolemized_q#valueAsBitvector_36|) ((_ extract 22 0) |v_skolemized_q#valueAsBitvector_36|)) __fpclassify_float_~x)) (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv2139095039 32)) (= (bvadd (_ bv8388608 32) |v_skolemized_q#valueAsBitvector_36|) (_ bv0 32)) (and (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv2155872255 32)) (bvuge |v_skolemized_q#valueAsBitvector_36| (_ bv2147483649 32))))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {12427#(or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (= __fpclassify_float_~w~0 (_ bv2147483648 32)) (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (= __fpclassify_float_~w~0 (_ bv2139095040 32)) (= (bvadd (_ bv8388608 32) __fpclassify_float_~w~0) (_ bv0 32)) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {12161#true} ~x := #in~x;havoc ~w~0; {12434#(or (forall ((|v_skolemized_q#valueAsBitvector_36| (_ BitVec 32))) (or (= |v_skolemized_q#valueAsBitvector_36| (_ bv2139095040 32)) (and (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv4286578687 32)) (bvuge |v_skolemized_q#valueAsBitvector_36| (_ bv2155872256 32))) (= |v_skolemized_q#valueAsBitvector_36| (_ bv2147483648 32)) (not (= (fp ((_ extract 31 31) |v_skolemized_q#valueAsBitvector_36|) ((_ extract 30 23) |v_skolemized_q#valueAsBitvector_36|) ((_ extract 22 0) |v_skolemized_q#valueAsBitvector_36|)) __fpclassify_float_~x)) (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv2139095039 32)) (= (bvadd (_ bv8388608 32) |v_skolemized_q#valueAsBitvector_36|) (_ bv0 32)) (and (bvule |v_skolemized_q#valueAsBitvector_36| (_ bv2155872255 32)) (bvuge |v_skolemized_q#valueAsBitvector_36| (_ bv2147483649 32))))) (not (fp.eq |__fpclassify_float_#in~x| |__fpclassify_float_#in~x|)))} is VALID [2022-02-20 16:47:23,346 INFO L272 TraceCheckUtils]: 23: Hoare triple {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {12161#true} is VALID [2022-02-20 16:47:23,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {12236#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)} is VALID [2022-02-20 16:47:23,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,347 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12161#true} {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:23,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:23,347 INFO L272 TraceCheckUtils]: 16: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {12161#true} is VALID [2022-02-20 16:47:23,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,348 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {12161#true} {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,348 INFO L290 TraceCheckUtils]: 12: Hoare triple {12161#true} assume true; {12161#true} is VALID [2022-02-20 16:47:23,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12161#true} is VALID [2022-02-20 16:47:23,348 INFO L272 TraceCheckUtils]: 10: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:23,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {12486#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short13#1; {12190#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:23,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {12490#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {12486#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:23,350 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {12497#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {12161#true} #129#return; {12490#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:23,350 INFO L290 TraceCheckUtils]: 4: Hoare triple {12497#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {12497#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:23,350 INFO L290 TraceCheckUtils]: 3: Hoare triple {12161#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12497#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:23,350 INFO L272 TraceCheckUtils]: 2: Hoare triple {12161#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {12161#true} is VALID [2022-02-20 16:47:23,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {12161#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {12161#true} is VALID [2022-02-20 16:47:23,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {12161#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {12161#true} is VALID [2022-02-20 16:47:23,351 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2022-02-20 16:47:23,351 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:23,351 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1182360461] [2022-02-20 16:47:23,351 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1182360461] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:23,351 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:23,351 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 22 [2022-02-20 16:47:23,351 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1649216197] [2022-02-20 16:47:23,351 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:23,352 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 55 [2022-02-20 16:47:23,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:23,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 16:47:23,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:23,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 16:47:23,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:23,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 16:47:23,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=381, Unknown=0, NotChecked=0, Total=462 [2022-02-20 16:47:23,427 INFO L87 Difference]: Start difference. First operand 49 states and 62 transitions. Second operand has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 16:47:25,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:25,715 INFO L93 Difference]: Finished difference Result 88 states and 111 transitions. [2022-02-20 16:47:25,715 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 16:47:25,715 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 55 [2022-02-20 16:47:25,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:25,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 16:47:25,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 107 transitions. [2022-02-20 16:47:25,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 16:47:25,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 107 transitions. [2022-02-20 16:47:25,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 107 transitions. [2022-02-20 16:47:25,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:25,818 INFO L225 Difference]: With dead ends: 88 [2022-02-20 16:47:25,818 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 16:47:25,818 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=141, Invalid=671, Unknown=0, NotChecked=0, Total=812 [2022-02-20 16:47:25,819 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 98 mSDsluCounter, 262 mSDsCounter, 0 mSdLazyCounter, 264 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 297 SdHoareTripleChecker+Invalid, 315 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 264 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:25,819 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 297 Invalid, 315 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 264 Invalid, 0 Unknown, 27 Unchecked, 1.4s Time] [2022-02-20 16:47:25,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 16:47:25,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 48. [2022-02-20 16:47:25,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:25,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:25,821 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:25,821 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:25,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:25,822 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-02-20 16:47:25,822 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 69 transitions. [2022-02-20 16:47:25,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:25,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:25,822 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Second operand 55 states. [2022-02-20 16:47:25,822 INFO L87 Difference]: Start difference. First operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Second operand 55 states. [2022-02-20 16:47:25,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:25,823 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-02-20 16:47:25,823 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 69 transitions. [2022-02-20 16:47:25,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:25,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:25,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:25,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:25,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:25,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 59 transitions. [2022-02-20 16:47:25,826 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 59 transitions. Word has length 55 [2022-02-20 16:47:25,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:25,826 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 59 transitions. [2022-02-20 16:47:25,826 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 2.238095238095238) internal successors, (47), 20 states have internal predecessors, (47), 4 states have call successors, (10), 2 states have call predecessors, (10), 6 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-02-20 16:47:25,826 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-02-20 16:47:25,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-02-20 16:47:25,827 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:25,827 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:25,845 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:26,035 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:26,035 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:26,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:26,036 INFO L85 PathProgramCache]: Analyzing trace with hash 2059347801, now seen corresponding path program 1 times [2022-02-20 16:47:26,036 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:26,036 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1551070559] [2022-02-20 16:47:26,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:26,036 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:26,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:26,037 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:26,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Waiting until timeout for monitored process [2022-02-20 16:47:26,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:26,098 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 16:47:26,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:26,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {12803#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {12803#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L272 TraceCheckUtils]: 2: Hoare triple {12803#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 3: Hoare triple {12803#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 4: Hoare triple {12803#true} assume true; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {12803#true} {12803#true} #129#return; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {12803#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {12803#true} assume !main_#t~short13#1; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {12803#true} main_#t~short17#1 := main_#t~short13#1; {12803#true} is VALID [2022-02-20 16:47:26,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {12803#true} assume !main_#t~short17#1; {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L272 TraceCheckUtils]: 10: Hoare triple {12803#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {12803#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L290 TraceCheckUtils]: 12: Hoare triple {12803#true} assume true; {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {12803#true} {12803#true} #133#return; {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {12803#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {12803#true} assume main_#t~short16#1; {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L272 TraceCheckUtils]: 16: Hoare triple {12803#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {12803#true} is VALID [2022-02-20 16:47:26,309 INFO L290 TraceCheckUtils]: 17: Hoare triple {12803#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12859#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:26,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {12859#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {12859#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:26,311 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12859#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {12803#true} #135#return; {12866#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} is VALID [2022-02-20 16:47:26,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {12866#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {12870#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:26,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {12870#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short17#1 := main_#t~short16#1; {12874#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {12874#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:26,312 INFO L272 TraceCheckUtils]: 23: Hoare triple {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 24: Hoare triple {12803#true} ~x := #in~x;havoc ~w~0; {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {12803#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {12803#true} goto; {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 27: Hoare triple {12803#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L290 TraceCheckUtils]: 28: Hoare triple {12803#true} assume true; {12803#true} is VALID [2022-02-20 16:47:26,312 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {12803#true} {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #137#return; {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:26,313 INFO L272 TraceCheckUtils]: 31: Hoare triple {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 32: Hoare triple {12803#true} ~x := #in~x;havoc ~w~0; {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 33: Hoare triple {12803#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 34: Hoare triple {12803#true} goto; {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 35: Hoare triple {12803#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {12803#true} assume true; {12803#true} is VALID [2022-02-20 16:47:26,313 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12803#true} {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #139#return; {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 38: Hoare triple {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {12878#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume ~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~x#1; {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 40: Hoare triple {12804#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 41: Hoare triple {12804#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L272 TraceCheckUtils]: 42: Hoare triple {12804#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 43: Hoare triple {12804#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L290 TraceCheckUtils]: 44: Hoare triple {12804#false} assume true; {12804#false} is VALID [2022-02-20 16:47:26,314 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12804#false} {12804#false} #141#return; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 46: Hoare triple {12804#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 47: Hoare triple {12804#false} assume !main_#t~short21#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 48: Hoare triple {12804#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L272 TraceCheckUtils]: 49: Hoare triple {12804#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 50: Hoare triple {12804#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 51: Hoare triple {12804#false} assume true; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12804#false} {12804#false} #145#return; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 53: Hoare triple {12804#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 54: Hoare triple {12804#false} assume main_#t~short24#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L272 TraceCheckUtils]: 55: Hoare triple {12804#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 56: Hoare triple {12804#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 57: Hoare triple {12804#false} assume true; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12804#false} {12804#false} #147#return; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 59: Hoare triple {12804#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 60: Hoare triple {12804#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L290 TraceCheckUtils]: 61: Hoare triple {12804#false} assume !false; {12804#false} is VALID [2022-02-20 16:47:26,315 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 31 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 16:47:26,315 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:26,315 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:26,316 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1551070559] [2022-02-20 16:47:26,316 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1551070559] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:26,316 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:26,316 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:47:26,316 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [180020435] [2022-02-20 16:47:26,316 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:26,316 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-02-20 16:47:26,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:26,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:26,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:26,349 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:47:26,349 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:26,349 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:47:26,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:47:26,350 INFO L87 Difference]: Start difference. First operand 48 states and 59 transitions. Second operand has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:26,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:26,728 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-02-20 16:47:26,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:47:26,728 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-02-20 16:47:26,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:26,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:26,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 16:47:26,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:26,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 16:47:26,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 74 transitions. [2022-02-20 16:47:26,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:26,778 INFO L225 Difference]: With dead ends: 65 [2022-02-20 16:47:26,779 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 16:47:26,779 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:47:26,779 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 15 mSDsluCounter, 192 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 237 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:26,779 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 237 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:47:26,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 16:47:26,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2022-02-20 16:47:26,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:26,785 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:26,785 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:26,785 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:26,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:26,786 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-02-20 16:47:26,786 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-02-20 16:47:26,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:26,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:26,786 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Second operand 48 states. [2022-02-20 16:47:26,787 INFO L87 Difference]: Start difference. First operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Second operand 48 states. [2022-02-20 16:47:26,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:26,787 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2022-02-20 16:47:26,787 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-02-20 16:47:26,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:26,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:26,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:26,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:26,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 16:47:26,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2022-02-20 16:47:26,789 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 62 [2022-02-20 16:47:26,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:26,789 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2022-02-20 16:47:26,789 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.0) internal successors, (35), 6 states have internal predecessors, (35), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:26,789 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-02-20 16:47:26,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-02-20 16:47:26,790 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:26,790 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:26,799 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Ended with exit code 0 [2022-02-20 16:47:26,997 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:26,998 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:26,998 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:26,998 INFO L85 PathProgramCache]: Analyzing trace with hash 253909467, now seen corresponding path program 1 times [2022-02-20 16:47:26,999 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:26,999 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1953422194] [2022-02-20 16:47:26,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:26,999 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:27,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:27,000 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:27,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Waiting until timeout for monitored process [2022-02-20 16:47:27,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:27,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:47:27,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:27,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:27,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {13237#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {13237#true} is VALID [2022-02-20 16:47:27,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {13237#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {13237#true} is VALID [2022-02-20 16:47:27,324 INFO L272 TraceCheckUtils]: 2: Hoare triple {13237#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 3: Hoare triple {13237#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 4: Hoare triple {13237#true} assume true; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13237#true} {13237#true} #129#return; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 6: Hoare triple {13237#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {13237#true} assume !main_#t~short13#1; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {13237#true} main_#t~short17#1 := main_#t~short13#1; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {13237#true} assume !main_#t~short17#1; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L272 TraceCheckUtils]: 10: Hoare triple {13237#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {13237#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {13237#true} assume true; {13237#true} is VALID [2022-02-20 16:47:27,325 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {13237#true} {13237#true} #133#return; {13237#true} is VALID [2022-02-20 16:47:27,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {13237#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {13237#true} is VALID [2022-02-20 16:47:27,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {13237#true} assume main_#t~short16#1; {13237#true} is VALID [2022-02-20 16:47:27,326 INFO L272 TraceCheckUtils]: 16: Hoare triple {13237#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {13237#true} is VALID [2022-02-20 16:47:27,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {13237#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13293#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:27,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {13293#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {13293#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:27,328 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {13293#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {13237#true} #135#return; {13300#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} is VALID [2022-02-20 16:47:27,328 INFO L290 TraceCheckUtils]: 20: Hoare triple {13300#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {13304#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:27,329 INFO L290 TraceCheckUtils]: 21: Hoare triple {13304#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short17#1 := main_#t~short16#1; {13308#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:27,329 INFO L290 TraceCheckUtils]: 22: Hoare triple {13308#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:27,329 INFO L272 TraceCheckUtils]: 23: Hoare triple {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {13237#true} is VALID [2022-02-20 16:47:27,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {13237#true} ~x := #in~x;havoc ~w~0; {13237#true} is VALID [2022-02-20 16:47:27,329 INFO L290 TraceCheckUtils]: 25: Hoare triple {13237#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {13237#true} is VALID [2022-02-20 16:47:27,330 INFO L290 TraceCheckUtils]: 26: Hoare triple {13237#true} goto; {13237#true} is VALID [2022-02-20 16:47:27,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {13237#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {13237#true} is VALID [2022-02-20 16:47:27,330 INFO L290 TraceCheckUtils]: 28: Hoare triple {13237#true} assume true; {13237#true} is VALID [2022-02-20 16:47:27,330 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {13237#true} {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #137#return; {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:27,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:27,331 INFO L272 TraceCheckUtils]: 31: Hoare triple {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {13237#true} is VALID [2022-02-20 16:47:27,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {13237#true} ~x := #in~x;havoc ~w~0; {13343#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:27,339 INFO L290 TraceCheckUtils]: 33: Hoare triple {13343#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {13347#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:27,339 INFO L290 TraceCheckUtils]: 34: Hoare triple {13347#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {13347#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:27,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {13347#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {13354#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:27,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {13354#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} assume true; {13354#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:27,341 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13354#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} {13312#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #139#return; {13238#false} is VALID [2022-02-20 16:47:27,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {13238#false} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {13238#false} is VALID [2022-02-20 16:47:27,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {13238#false} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {13238#false} is VALID [2022-02-20 16:47:27,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {13238#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {13238#false} is VALID [2022-02-20 16:47:27,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {13238#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L272 TraceCheckUtils]: 42: Hoare triple {13238#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 43: Hoare triple {13238#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 44: Hoare triple {13238#false} assume true; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13238#false} {13238#false} #141#return; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 46: Hoare triple {13238#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 47: Hoare triple {13238#false} assume !main_#t~short21#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 48: Hoare triple {13238#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L272 TraceCheckUtils]: 49: Hoare triple {13238#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 50: Hoare triple {13238#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 51: Hoare triple {13238#false} assume true; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13238#false} {13238#false} #145#return; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 53: Hoare triple {13238#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 54: Hoare triple {13238#false} assume main_#t~short24#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L272 TraceCheckUtils]: 55: Hoare triple {13238#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 56: Hoare triple {13238#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 57: Hoare triple {13238#false} assume true; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13238#false} {13238#false} #147#return; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 59: Hoare triple {13238#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 60: Hoare triple {13238#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {13238#false} is VALID [2022-02-20 16:47:27,342 INFO L290 TraceCheckUtils]: 61: Hoare triple {13238#false} assume !false; {13238#false} is VALID [2022-02-20 16:47:27,343 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 36 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:47:27,343 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:27,343 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:27,343 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1953422194] [2022-02-20 16:47:27,343 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1953422194] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:27,343 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:27,343 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:47:27,343 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344176065] [2022-02-20 16:47:27,343 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:27,344 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-02-20 16:47:27,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:27,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:27,389 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:27,389 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:47:27,389 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:27,389 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:47:27,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=73, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:47:27,390 INFO L87 Difference]: Start difference. First operand 48 states and 58 transitions. Second operand has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:28,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:28,519 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2022-02-20 16:47:28,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:28,519 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-02-20 16:47:28,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:28,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:28,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:28,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:28,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:28,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 78 transitions. [2022-02-20 16:47:28,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:28,606 INFO L225 Difference]: With dead ends: 69 [2022-02-20 16:47:28,606 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 16:47:28,606 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:28,606 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 38 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 181 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 181 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 181 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:28,606 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 262 Invalid, 181 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 181 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 16:47:28,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 16:47:28,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 16:47:28,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:28,608 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:28,608 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:28,608 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:28,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:28,609 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-02-20 16:47:28,609 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2022-02-20 16:47:28,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:28,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:28,610 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) Second operand 50 states. [2022-02-20 16:47:28,610 INFO L87 Difference]: Start difference. First operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) Second operand 50 states. [2022-02-20 16:47:28,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:28,611 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-02-20 16:47:28,611 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2022-02-20 16:47:28,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:28,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:28,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:28,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:28,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:28,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2022-02-20 16:47:28,612 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 62 [2022-02-20 16:47:28,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:28,612 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2022-02-20 16:47:28,612 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.0) internal successors, (40), 9 states have internal predecessors, (40), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:28,612 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2022-02-20 16:47:28,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-02-20 16:47:28,613 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:28,613 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:28,623 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:28,820 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:28,821 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:28,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:28,821 INFO L85 PathProgramCache]: Analyzing trace with hash 647887735, now seen corresponding path program 1 times [2022-02-20 16:47:28,821 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:28,821 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [782637459] [2022-02-20 16:47:28,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:28,821 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:28,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:28,823 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:28,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Waiting until timeout for monitored process [2022-02-20 16:47:28,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:28,884 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:47:28,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:28,895 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {13689#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {13689#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L272 TraceCheckUtils]: 2: Hoare triple {13689#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {13689#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {13689#true} assume true; {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13689#true} {13689#true} #129#return; {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 6: Hoare triple {13689#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {13689#true} assume !main_#t~short13#1; {13689#true} is VALID [2022-02-20 16:47:29,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {13689#true} main_#t~short17#1 := main_#t~short13#1; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {13689#true} assume !main_#t~short17#1; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L272 TraceCheckUtils]: 10: Hoare triple {13689#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {13689#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {13689#true} assume true; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {13689#true} {13689#true} #133#return; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {13689#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {13689#true} assume main_#t~short16#1; {13689#true} is VALID [2022-02-20 16:47:29,171 INFO L272 TraceCheckUtils]: 16: Hoare triple {13689#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {13689#true} is VALID [2022-02-20 16:47:29,176 INFO L290 TraceCheckUtils]: 17: Hoare triple {13689#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13745#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:29,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {13745#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {13745#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:29,177 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {13745#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {13689#true} #135#return; {13752#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} is VALID [2022-02-20 16:47:29,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {13752#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {13756#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:29,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {13756#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short17#1 := main_#t~short16#1; {13760#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {13760#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:29,179 INFO L272 TraceCheckUtils]: 23: Hoare triple {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {13689#true} ~x := #in~x;havoc ~w~0; {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {13689#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 26: Hoare triple {13689#true} goto; {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {13689#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L290 TraceCheckUtils]: 28: Hoare triple {13689#true} assume true; {13689#true} is VALID [2022-02-20 16:47:29,179 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {13689#true} {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #137#return; {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:29,180 INFO L290 TraceCheckUtils]: 30: Hoare triple {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:29,180 INFO L272 TraceCheckUtils]: 31: Hoare triple {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {13689#true} is VALID [2022-02-20 16:47:29,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {13689#true} ~x := #in~x;havoc ~w~0; {13795#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:29,186 INFO L290 TraceCheckUtils]: 33: Hoare triple {13795#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:29,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:29,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:29,188 INFO L290 TraceCheckUtils]: 36: Hoare triple {13799#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {13809#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))))))} is VALID [2022-02-20 16:47:29,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {13809#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))))))} assume true; {13809#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))))))} is VALID [2022-02-20 16:47:29,190 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13809#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0))) (or (and (bvule __fpclassify_float_~w~0 (_ bv4286578687 32)) (bvuge __fpclassify_float_~w~0 (_ bv2155872256 32))) (and (bvule __fpclassify_float_~w~0 (_ bv2139095039 32)) (bvuge __fpclassify_float_~w~0 (_ bv8388608 32))))))} {13764#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #139#return; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 39: Hoare triple {13690#false} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 40: Hoare triple {13690#false} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 41: Hoare triple {13690#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 42: Hoare triple {13690#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L272 TraceCheckUtils]: 43: Hoare triple {13690#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 44: Hoare triple {13690#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 45: Hoare triple {13690#false} assume true; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13690#false} {13690#false} #141#return; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {13690#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {13690#false} assume !main_#t~short21#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 49: Hoare triple {13690#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L272 TraceCheckUtils]: 50: Hoare triple {13690#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 51: Hoare triple {13690#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 52: Hoare triple {13690#false} assume true; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13690#false} {13690#false} #145#return; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 54: Hoare triple {13690#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 55: Hoare triple {13690#false} assume main_#t~short24#1; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L272 TraceCheckUtils]: 56: Hoare triple {13690#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 57: Hoare triple {13690#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L290 TraceCheckUtils]: 58: Hoare triple {13690#false} assume true; {13690#false} is VALID [2022-02-20 16:47:29,190 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13690#false} {13690#false} #147#return; {13690#false} is VALID [2022-02-20 16:47:29,191 INFO L290 TraceCheckUtils]: 60: Hoare triple {13690#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {13690#false} is VALID [2022-02-20 16:47:29,191 INFO L290 TraceCheckUtils]: 61: Hoare triple {13690#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {13690#false} is VALID [2022-02-20 16:47:29,191 INFO L290 TraceCheckUtils]: 62: Hoare triple {13690#false} assume !false; {13690#false} is VALID [2022-02-20 16:47:29,191 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 36 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:47:29,191 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:29,191 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:29,191 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [782637459] [2022-02-20 16:47:29,191 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [782637459] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:29,191 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:29,191 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:47:29,191 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1762182177] [2022-02-20 16:47:29,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:29,192 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 63 [2022-02-20 16:47:29,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:29,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:29,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:29,237 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:47:29,237 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:29,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:47:29,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=73, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:47:29,237 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:29,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:29,954 INFO L93 Difference]: Finished difference Result 71 states and 83 transitions. [2022-02-20 16:47:29,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:29,954 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 63 [2022-02-20 16:47:29,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:29,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:29,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:29,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:29,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:29,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 78 transitions. [2022-02-20 16:47:30,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:30,017 INFO L225 Difference]: With dead ends: 71 [2022-02-20 16:47:30,017 INFO L226 Difference]: Without dead ends: 52 [2022-02-20 16:47:30,017 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:30,017 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 35 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 24 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:30,018 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 268 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 158 Invalid, 0 Unknown, 24 Unchecked, 0.3s Time] [2022-02-20 16:47:30,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-02-20 16:47:30,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-02-20 16:47:30,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:30,019 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:30,020 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:30,020 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:30,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:30,021 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2022-02-20 16:47:30,021 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2022-02-20 16:47:30,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:30,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:30,021 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) Second operand 52 states. [2022-02-20 16:47:30,021 INFO L87 Difference]: Start difference. First operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) Second operand 52 states. [2022-02-20 16:47:30,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:30,022 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2022-02-20 16:47:30,022 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2022-02-20 16:47:30,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:30,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:30,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:30,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:30,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 37 states have (on average 1.135135135135135) internal successors, (42), 38 states have internal predecessors, (42), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 9 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:30,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2022-02-20 16:47:30,023 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 63 [2022-02-20 16:47:30,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:30,024 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2022-02-20 16:47:30,024 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 9 states have internal predecessors, (41), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:30,024 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2022-02-20 16:47:30,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-02-20 16:47:30,024 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:30,024 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:30,035 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Ended with exit code 0 [2022-02-20 16:47:30,232 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:30,232 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:30,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:30,233 INFO L85 PathProgramCache]: Analyzing trace with hash -589254976, now seen corresponding path program 1 times [2022-02-20 16:47:30,233 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:30,233 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [958013111] [2022-02-20 16:47:30,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:30,234 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:30,234 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:30,235 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:30,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Waiting until timeout for monitored process [2022-02-20 16:47:30,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:30,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:47:30,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:30,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 0: Hoare triple {14151#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {14151#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L272 TraceCheckUtils]: 2: Hoare triple {14151#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 3: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {14151#true} {14151#true} #129#return; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 6: Hoare triple {14151#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {14151#true} assume !main_#t~short13#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {14151#true} main_#t~short17#1 := main_#t~short13#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {14151#true} assume !main_#t~short17#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L272 TraceCheckUtils]: 10: Hoare triple {14151#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 12: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {14151#true} {14151#true} #133#return; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {14151#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {14151#true} assume main_#t~short16#1; {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L272 TraceCheckUtils]: 16: Hoare triple {14151#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {14151#true} is VALID [2022-02-20 16:47:30,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {14151#true} {14151#true} #135#return; {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {14151#true} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {14151#true} main_#t~short17#1 := main_#t~short16#1; {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {14151#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {14222#(= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:30,833 INFO L272 TraceCheckUtils]: 23: Hoare triple {14222#(= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {14151#true} is VALID [2022-02-20 16:47:30,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {14151#true} ~x := #in~x;havoc ~w~0; {14229#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:30,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {14229#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14233#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:30,841 INFO L290 TraceCheckUtils]: 26: Hoare triple {14233#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {14233#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:30,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {14233#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:30,842 INFO L290 TraceCheckUtils]: 28: Hoare triple {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} assume true; {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:30,842 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} {14222#(= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} #137#return; {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 30: Hoare triple {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,843 INFO L272 TraceCheckUtils]: 31: Hoare triple {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 32: Hoare triple {14151#true} ~x := #in~x;havoc ~w~0; {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {14151#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 34: Hoare triple {14151#true} goto; {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 35: Hoare triple {14151#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {14151#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {14151#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {14151#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {14151#true} is VALID [2022-02-20 16:47:30,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,844 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14151#true} {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} #139#return; {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {14247#(and (or (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|)) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {14284#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (or (= |ULTIMATE.start_fmin_float_#res#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |ULTIMATE.start_fmin_float_#res#1| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)))))} is VALID [2022-02-20 16:47:30,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {14284#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (or (= |ULTIMATE.start_fmin_float_#res#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |ULTIMATE.start_fmin_float_#res#1| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)))))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,845 INFO L272 TraceCheckUtils]: 43: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:30,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,845 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14151#true} {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,846 INFO L290 TraceCheckUtils]: 47: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,846 INFO L290 TraceCheckUtils]: 48: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short21#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,847 INFO L272 TraceCheckUtils]: 50: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:30,847 INFO L290 TraceCheckUtils]: 51: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,847 INFO L290 TraceCheckUtils]: 52: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,847 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {14151#true} {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} #145#return; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,848 INFO L290 TraceCheckUtils]: 54: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,848 INFO L290 TraceCheckUtils]: 55: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short24#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,849 INFO L272 TraceCheckUtils]: 56: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {14151#true} is VALID [2022-02-20 16:47:30,849 INFO L290 TraceCheckUtils]: 57: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:30,849 INFO L290 TraceCheckUtils]: 58: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:30,849 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14151#true} {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} #147#return; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,850 INFO L290 TraceCheckUtils]: 60: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:30,850 INFO L290 TraceCheckUtils]: 61: Hoare triple {14288#(and (or (= |ULTIMATE.start_main_~x~0#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_main_~x~0#1|)) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {14152#false} is VALID [2022-02-20 16:47:30,850 INFO L290 TraceCheckUtils]: 62: Hoare triple {14152#false} assume !false; {14152#false} is VALID [2022-02-20 16:47:30,850 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 16:47:30,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:31,336 INFO L290 TraceCheckUtils]: 62: Hoare triple {14152#false} assume !false; {14152#false} is VALID [2022-02-20 16:47:31,336 INFO L290 TraceCheckUtils]: 61: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {14152#false} is VALID [2022-02-20 16:47:31,337 INFO L290 TraceCheckUtils]: 60: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,337 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14151#true} {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #147#return; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,337 INFO L290 TraceCheckUtils]: 58: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,337 INFO L290 TraceCheckUtils]: 57: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,337 INFO L272 TraceCheckUtils]: 56: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {14151#true} is VALID [2022-02-20 16:47:31,338 INFO L290 TraceCheckUtils]: 55: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short24#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,338 INFO L290 TraceCheckUtils]: 54: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,338 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {14151#true} {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #145#return; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,338 INFO L290 TraceCheckUtils]: 52: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,338 INFO L290 TraceCheckUtils]: 51: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,338 INFO L272 TraceCheckUtils]: 50: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:31,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short21#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,339 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14151#true} {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #141#return; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,339 INFO L290 TraceCheckUtils]: 45: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,340 INFO L290 TraceCheckUtils]: 44: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,340 INFO L272 TraceCheckUtils]: 43: Hoare triple {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:31,340 INFO L290 TraceCheckUtils]: 42: Hoare triple {14410#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {14352#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,340 INFO L290 TraceCheckUtils]: 41: Hoare triple {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {14410#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,341 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14151#true} {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} #139#return; {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {14151#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 37: Hoare triple {14151#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {14151#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {14151#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 34: Hoare triple {14151#true} goto; {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 33: Hoare triple {14151#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 32: Hoare triple {14151#true} ~x := #in~x;havoc ~w~0; {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L272 TraceCheckUtils]: 31: Hoare triple {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {14151#true} is VALID [2022-02-20 16:47:31,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,342 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} {14451#(or (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|) (and (not (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (not (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|))))} #137#return; {14414#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:31,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} assume true; {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:31,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {14461#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32)))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {14240#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:31,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {14461#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32)))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} goto; {14461#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32)))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:31,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {14468#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) __fpclassify_float_~x)) (not (= __fpclassify_float_~x (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14461#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (_ bv0 32) __fpclassify_float_~w~0)) (not (= __fpclassify_float_~w~0 (_ bv2147483648 32)))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:31,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {14151#true} ~x := #in~x;havoc ~w~0; {14468#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))) (and (not (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) __fpclassify_float_~x)) (not (= __fpclassify_float_~x (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv0 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:31,346 INFO L272 TraceCheckUtils]: 23: Hoare triple {14451#(or (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|) (and (not (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (not (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|))))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {14151#true} is VALID [2022-02-20 16:47:31,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {14151#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {14451#(or (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|) (and (not (= |ULTIMATE.start_fmin_float_~x#1| (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (not (= (fp (_ bv1 1) (_ bv0 8) (_ bv0 23)) |ULTIMATE.start_fmin_float_~x#1|))))} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {14151#true} main_#t~short17#1 := main_#t~short16#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {14151#true} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {14151#true} {14151#true} #135#return; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L272 TraceCheckUtils]: 16: Hoare triple {14151#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {14151#true} assume main_#t~short16#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {14151#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {14151#true} {14151#true} #133#return; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 11: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L272 TraceCheckUtils]: 10: Hoare triple {14151#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {14151#true} assume !main_#t~short17#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {14151#true} main_#t~short17#1 := main_#t~short13#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {14151#true} assume !main_#t~short13#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {14151#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {14151#true} {14151#true} #129#return; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {14151#true} assume true; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {14151#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L272 TraceCheckUtils]: 2: Hoare triple {14151#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {14151#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {14151#true} is VALID [2022-02-20 16:47:31,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {14151#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {14151#true} is VALID [2022-02-20 16:47:31,348 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 16:47:31,348 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:31,348 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [958013111] [2022-02-20 16:47:31,348 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [958013111] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:31,348 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:31,348 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-02-20 16:47:31,348 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544952975] [2022-02-20 16:47:31,348 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:31,348 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) Word has length 63 [2022-02-20 16:47:31,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:31,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) [2022-02-20 16:47:31,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:31,444 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 16:47:31,444 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:31,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 16:47:31,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:47:31,445 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) [2022-02-20 16:47:33,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:33,385 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-02-20 16:47:33,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:47:33,386 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) Word has length 63 [2022-02-20 16:47:33,386 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:33,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) [2022-02-20 16:47:33,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-02-20 16:47:33,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) [2022-02-20 16:47:33,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-02-20 16:47:33,388 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-02-20 16:47:33,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:33,548 INFO L225 Difference]: With dead ends: 84 [2022-02-20 16:47:33,548 INFO L226 Difference]: Without dead ends: 71 [2022-02-20 16:47:33,548 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 112 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2022-02-20 16:47:33,548 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 77 mSDsluCounter, 441 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 496 SdHoareTripleChecker+Invalid, 207 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:33,549 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 496 Invalid, 207 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-02-20 16:47:33,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-02-20 16:47:33,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 54. [2022-02-20 16:47:33,552 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:33,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:33,552 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:33,552 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:33,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:33,553 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2022-02-20 16:47:33,553 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-02-20 16:47:33,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:33,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:33,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) Second operand 71 states. [2022-02-20 16:47:33,554 INFO L87 Difference]: Start difference. First operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) Second operand 71 states. [2022-02-20 16:47:33,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:33,555 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2022-02-20 16:47:33,555 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-02-20 16:47:33,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:33,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:33,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:33,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:33,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:33,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 66 transitions. [2022-02-20 16:47:33,557 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 66 transitions. Word has length 63 [2022-02-20 16:47:33,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:33,557 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 66 transitions. [2022-02-20 16:47:33,557 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 4.0) internal successors, (52), 15 states have internal predecessors, (52), 7 states have call successors, (13), 1 states have call predecessors, (13), 2 states have return successors, (13), 5 states have call predecessors, (13), 7 states have call successors, (13) [2022-02-20 16:47:33,557 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-02-20 16:47:33,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-02-20 16:47:33,558 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:33,558 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:47:33,569 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:33,765 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:33,766 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:33,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:33,766 INFO L85 PathProgramCache]: Analyzing trace with hash -472199073, now seen corresponding path program 1 times [2022-02-20 16:47:33,766 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:33,767 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2002528215] [2022-02-20 16:47:33,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:33,767 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:33,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:33,768 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:33,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (29)] Waiting until timeout for monitored process [2022-02-20 16:47:33,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:33,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:47:33,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:33,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {14864#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {14864#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L272 TraceCheckUtils]: 2: Hoare triple {14864#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 3: Hoare triple {14864#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 4: Hoare triple {14864#true} assume true; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {14864#true} {14864#true} #129#return; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {14864#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {14864#true} assume !main_#t~short13#1; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {14864#true} main_#t~short17#1 := main_#t~short13#1; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {14864#true} assume !main_#t~short17#1; {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L272 TraceCheckUtils]: 10: Hoare triple {14864#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {14864#true} is VALID [2022-02-20 16:47:34,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {14864#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {14864#true} assume true; {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {14864#true} {14864#true} #133#return; {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {14864#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {14864#true} assume main_#t~short16#1; {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L272 TraceCheckUtils]: 16: Hoare triple {14864#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {14864#true} is VALID [2022-02-20 16:47:34,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {14864#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14920#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:34,150 INFO L290 TraceCheckUtils]: 18: Hoare triple {14920#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {14920#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:34,150 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {14920#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {14864#true} #135#return; {14927#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} is VALID [2022-02-20 16:47:34,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {14927#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {14931#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:34,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {14931#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short17#1 := main_#t~short16#1; {14935#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {14935#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:34,152 INFO L272 TraceCheckUtils]: 23: Hoare triple {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {14864#true} ~x := #in~x;havoc ~w~0; {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {14864#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 26: Hoare triple {14864#true} goto; {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {14864#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L290 TraceCheckUtils]: 28: Hoare triple {14864#true} assume true; {14864#true} is VALID [2022-02-20 16:47:34,152 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {14864#true} {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #137#return; {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:34,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:34,153 INFO L272 TraceCheckUtils]: 31: Hoare triple {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {14864#true} is VALID [2022-02-20 16:47:34,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {14864#true} ~x := #in~x;havoc ~w~0; {14970#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:34,158 INFO L290 TraceCheckUtils]: 33: Hoare triple {14970#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:34,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:34,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:34,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:34,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {14974#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume (~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32));#res := 3bv32; {14987#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32)))) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))))} is VALID [2022-02-20 16:47:34,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {14987#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32)))) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))))} assume true; {14987#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32)))) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))))} is VALID [2022-02-20 16:47:34,162 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14987#(exists ((__fpclassify_float_~w~0 (_ BitVec 32))) (and (or (and (bvule __fpclassify_float_~w~0 (_ bv8388607 32)) (bvuge __fpclassify_float_~w~0 (_ bv1 32))) (and (bvuge __fpclassify_float_~w~0 (_ bv2147483649 32)) (bvule __fpclassify_float_~w~0 (_ bv2155872255 32)))) (= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))))} {14939#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #139#return; {14865#false} is VALID [2022-02-20 16:47:34,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {14865#false} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {14865#false} is VALID [2022-02-20 16:47:34,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {14865#false} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {14865#false} is VALID [2022-02-20 16:47:34,162 INFO L290 TraceCheckUtils]: 42: Hoare triple {14865#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {14865#false} is VALID [2022-02-20 16:47:34,162 INFO L290 TraceCheckUtils]: 43: Hoare triple {14865#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L272 TraceCheckUtils]: 44: Hoare triple {14865#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {14865#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 46: Hoare triple {14865#false} assume true; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {14865#false} {14865#false} #141#return; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 48: Hoare triple {14865#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 49: Hoare triple {14865#false} assume !main_#t~short21#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 50: Hoare triple {14865#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L272 TraceCheckUtils]: 51: Hoare triple {14865#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {14865#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {14865#false} assume true; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14865#false} {14865#false} #145#return; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 55: Hoare triple {14865#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 56: Hoare triple {14865#false} assume main_#t~short24#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L272 TraceCheckUtils]: 57: Hoare triple {14865#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 58: Hoare triple {14865#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 59: Hoare triple {14865#false} assume true; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14865#false} {14865#false} #147#return; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 61: Hoare triple {14865#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 62: Hoare triple {14865#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {14865#false} is VALID [2022-02-20 16:47:34,163 INFO L290 TraceCheckUtils]: 63: Hoare triple {14865#false} assume !false; {14865#false} is VALID [2022-02-20 16:47:34,164 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 36 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:47:34,164 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:34,164 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:34,164 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2002528215] [2022-02-20 16:47:34,164 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2002528215] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:34,164 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:34,164 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:47:34,164 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1528828389] [2022-02-20 16:47:34,164 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:34,164 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 64 [2022-02-20 16:47:34,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:34,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:34,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:34,205 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:47:34,205 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:34,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:47:34,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=73, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:47:34,206 INFO L87 Difference]: Start difference. First operand 54 states and 66 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:35,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:35,008 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2022-02-20 16:47:35,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:35,008 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 64 [2022-02-20 16:47:35,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:35,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:35,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:35,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:35,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 78 transitions. [2022-02-20 16:47:35,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 78 transitions. [2022-02-20 16:47:35,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:35,077 INFO L225 Difference]: With dead ends: 75 [2022-02-20 16:47:35,077 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 16:47:35,078 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:35,078 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 34 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 24 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:35,078 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 268 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 158 Invalid, 0 Unknown, 24 Unchecked, 0.3s Time] [2022-02-20 16:47:35,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 16:47:35,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-02-20 16:47:35,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:35,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:35,080 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:35,081 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:35,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:35,082 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-02-20 16:47:35,082 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-02-20 16:47:35,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:35,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:35,082 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) Second operand 56 states. [2022-02-20 16:47:35,082 INFO L87 Difference]: Start difference. First operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) Second operand 56 states. [2022-02-20 16:47:35,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:35,083 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-02-20 16:47:35,083 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-02-20 16:47:35,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:35,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:35,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:35,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:35,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 9 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (13), 10 states have call predecessors, (13), 9 states have call successors, (13) [2022-02-20 16:47:35,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 66 transitions. [2022-02-20 16:47:35,085 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 66 transitions. Word has length 64 [2022-02-20 16:47:35,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:35,085 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 66 transitions. [2022-02-20 16:47:35,085 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:35,085 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2022-02-20 16:47:35,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-02-20 16:47:35,086 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:35,086 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:35,094 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (29)] Ended with exit code 0 [2022-02-20 16:47:35,293 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:35,293 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:35,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:35,294 INFO L85 PathProgramCache]: Analyzing trace with hash 1512938488, now seen corresponding path program 1 times [2022-02-20 16:47:35,294 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:35,294 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2048304479] [2022-02-20 16:47:35,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:35,294 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:35,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:35,295 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:35,296 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (30)] Waiting until timeout for monitored process [2022-02-20 16:47:35,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:35,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 16:47:35,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:35,379 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:35,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {15347#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {15347#true} is VALID [2022-02-20 16:47:35,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {15347#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {15347#true} is VALID [2022-02-20 16:47:35,850 INFO L272 TraceCheckUtils]: 2: Hoare triple {15347#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:35,851 INFO L290 TraceCheckUtils]: 3: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15361#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:35,851 INFO L290 TraceCheckUtils]: 4: Hoare triple {15361#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {15361#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:35,852 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15361#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {15347#true} #129#return; {15368#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 16:47:35,852 INFO L290 TraceCheckUtils]: 6: Hoare triple {15368#(or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {15372#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} is VALID [2022-02-20 16:47:35,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {15372#(or (and |ULTIMATE.start_main_#t~short13#1| (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short13#1|)))} assume !main_#t~short13#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,853 INFO L272 TraceCheckUtils]: 10: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:35,853 INFO L290 TraceCheckUtils]: 11: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:35,853 INFO L290 TraceCheckUtils]: 12: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,854 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {15347#true} {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,854 INFO L272 TraceCheckUtils]: 16: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {15347#true} is VALID [2022-02-20 16:47:35,854 INFO L290 TraceCheckUtils]: 17: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:35,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,855 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {15347#true} {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:35,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,856 INFO L272 TraceCheckUtils]: 23: Hoare triple {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {15347#true} ~x := #in~x;havoc ~w~0; {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {15347#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {15347#true} goto; {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {15347#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 28: Hoare triple {15347#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 29: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,856 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15347#true} {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} #137#return; {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,856 INFO L290 TraceCheckUtils]: 31: Hoare triple {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,857 INFO L272 TraceCheckUtils]: 32: Hoare triple {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 33: Hoare triple {15347#true} ~x := #in~x;havoc ~w~0; {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 34: Hoare triple {15347#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {15347#true} goto; {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {15347#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {15347#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 38: Hoare triple {15347#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 39: Hoare triple {15347#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {15347#true} is VALID [2022-02-20 16:47:35,857 INFO L290 TraceCheckUtils]: 40: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,859 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15347#true} {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} #139#return; {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,860 INFO L290 TraceCheckUtils]: 42: Hoare triple {15422#(and (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|))} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {15483#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,860 INFO L290 TraceCheckUtils]: 43: Hoare triple {15483#(and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,860 INFO L272 TraceCheckUtils]: 44: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:35,860 INFO L290 TraceCheckUtils]: 45: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:35,860 INFO L290 TraceCheckUtils]: 46: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,861 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15347#true} {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #141#return; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,861 INFO L290 TraceCheckUtils]: 48: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,862 INFO L290 TraceCheckUtils]: 49: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short21#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,862 INFO L272 TraceCheckUtils]: 51: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:35,862 INFO L290 TraceCheckUtils]: 52: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:35,862 INFO L290 TraceCheckUtils]: 53: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,863 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15347#true} {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #145#return; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,863 INFO L290 TraceCheckUtils]: 55: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,864 INFO L290 TraceCheckUtils]: 56: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short24#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,864 INFO L272 TraceCheckUtils]: 57: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {15347#true} is VALID [2022-02-20 16:47:35,864 INFO L290 TraceCheckUtils]: 58: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:35,864 INFO L290 TraceCheckUtils]: 59: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:35,865 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {15347#true} {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} #147#return; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,865 INFO L290 TraceCheckUtils]: 61: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:35,865 INFO L290 TraceCheckUtils]: 62: Hoare triple {15487#(and (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {15348#false} is VALID [2022-02-20 16:47:35,865 INFO L290 TraceCheckUtils]: 63: Hoare triple {15348#false} assume !false; {15348#false} is VALID [2022-02-20 16:47:35,866 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2022-02-20 16:47:35,866 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:36,144 INFO L290 TraceCheckUtils]: 63: Hoare triple {15348#false} assume !false; {15348#false} is VALID [2022-02-20 16:47:36,145 INFO L290 TraceCheckUtils]: 62: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {15348#false} is VALID [2022-02-20 16:47:36,145 INFO L290 TraceCheckUtils]: 61: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,146 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {15347#true} {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #147#return; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,146 INFO L290 TraceCheckUtils]: 59: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,146 INFO L290 TraceCheckUtils]: 58: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:36,146 INFO L272 TraceCheckUtils]: 57: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {15347#true} is VALID [2022-02-20 16:47:36,146 INFO L290 TraceCheckUtils]: 56: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short24#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,146 INFO L290 TraceCheckUtils]: 55: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,147 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15347#true} {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #145#return; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,147 INFO L290 TraceCheckUtils]: 53: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,147 INFO L290 TraceCheckUtils]: 52: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:36,147 INFO L272 TraceCheckUtils]: 51: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:36,147 INFO L290 TraceCheckUtils]: 50: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,147 INFO L290 TraceCheckUtils]: 49: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short21#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,147 INFO L290 TraceCheckUtils]: 48: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,148 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15347#true} {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} #141#return; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,148 INFO L290 TraceCheckUtils]: 46: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,148 INFO L290 TraceCheckUtils]: 45: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:36,148 INFO L272 TraceCheckUtils]: 44: Hoare triple {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:36,148 INFO L290 TraceCheckUtils]: 43: Hoare triple {15609#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {15551#(fp.eq |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 42: Hoare triple {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} assume 0bv32 == fmin_float_#t~ret6#1;havoc fmin_float_#t~ret6#1;fmin_float_#res#1 := fmin_float_~x#1; {15609#(fp.eq |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,149 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15347#true} {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} #139#return; {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 40: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 39: Hoare triple {15347#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 38: Hoare triple {15347#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 37: Hoare triple {15347#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {15347#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {15347#true} goto; {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 34: Hoare triple {15347#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {15347#true} is VALID [2022-02-20 16:47:36,149 INFO L290 TraceCheckUtils]: 33: Hoare triple {15347#true} ~x := #in~x;havoc ~w~0; {15347#true} is VALID [2022-02-20 16:47:36,150 INFO L272 TraceCheckUtils]: 32: Hoare triple {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {15347#true} is VALID [2022-02-20 16:47:36,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,157 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15347#true} {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} #137#return; {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 28: Hoare triple {15347#true} assume (~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32));#res := 4bv32; {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {15347#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {15347#true} goto; {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {15347#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {15347#true} ~x := #in~x;havoc ~w~0; {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L272 TraceCheckUtils]: 23: Hoare triple {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {15347#true} is VALID [2022-02-20 16:47:36,157 INFO L290 TraceCheckUtils]: 22: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {15613#(fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,158 INFO L290 TraceCheckUtils]: 21: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short16#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,158 INFO L290 TraceCheckUtils]: 20: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,158 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {15347#true} {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #135#return; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,158 INFO L290 TraceCheckUtils]: 18: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,158 INFO L290 TraceCheckUtils]: 17: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:36,159 INFO L272 TraceCheckUtils]: 16: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {15347#true} is VALID [2022-02-20 16:47:36,159 INFO L290 TraceCheckUtils]: 15: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume main_#t~short16#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,159 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {15347#true} {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} #133#return; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {15347#true} assume true; {15347#true} is VALID [2022-02-20 16:47:36,159 INFO L290 TraceCheckUtils]: 11: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15347#true} is VALID [2022-02-20 16:47:36,160 INFO L272 TraceCheckUtils]: 10: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:36,160 INFO L290 TraceCheckUtils]: 9: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} assume !main_#t~short17#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,160 INFO L290 TraceCheckUtils]: 8: Hoare triple {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} main_#t~short17#1 := main_#t~short13#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {15719#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !main_#t~short13#1; {15376#(fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 16:47:36,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {15723#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {15719#(or |ULTIMATE.start_main_#t~short13#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:36,161 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15730#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} {15347#true} #129#return; {15723#(or (not (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32))) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 16:47:36,161 INFO L290 TraceCheckUtils]: 4: Hoare triple {15730#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} assume true; {15730#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:36,162 INFO L290 TraceCheckUtils]: 3: Hoare triple {15347#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {15730#(or (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|) (not (= |isnan_float_#res| (_ bv0 32))))} is VALID [2022-02-20 16:47:36,162 INFO L272 TraceCheckUtils]: 2: Hoare triple {15347#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {15347#true} is VALID [2022-02-20 16:47:36,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {15347#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {15347#true} is VALID [2022-02-20 16:47:36,162 INFO L290 TraceCheckUtils]: 0: Hoare triple {15347#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {15347#true} is VALID [2022-02-20 16:47:36,162 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2022-02-20 16:47:36,162 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:36,162 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2048304479] [2022-02-20 16:47:36,162 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2048304479] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:36,162 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:47:36,162 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-02-20 16:47:36,162 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557220596] [2022-02-20 16:47:36,162 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:36,163 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) Word has length 64 [2022-02-20 16:47:36,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:36,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-02-20 16:47:36,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:36,217 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 16:47:36,217 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:36,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 16:47:36,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:47:36,217 INFO L87 Difference]: Start difference. First operand 54 states and 66 transitions. Second operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-02-20 16:47:37,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:37,283 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 16:47:37,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:37,283 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) Word has length 64 [2022-02-20 16:47:37,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:37,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-02-20 16:47:37,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2022-02-20 16:47:37,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-02-20 16:47:37,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2022-02-20 16:47:37,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 71 transitions. [2022-02-20 16:47:37,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:37,350 INFO L225 Difference]: With dead ends: 68 [2022-02-20 16:47:37,350 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 16:47:37,350 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=88, Invalid=254, Unknown=0, NotChecked=0, Total=342 [2022-02-20 16:47:37,350 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 48 mSDsluCounter, 272 mSDsCounter, 0 mSdLazyCounter, 133 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 317 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 133 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:37,350 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 317 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 133 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 16:47:37,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 16:47:37,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 49. [2022-02-20 16:47:37,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:37,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:37,353 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:37,353 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:37,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:37,354 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-02-20 16:47:37,354 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-02-20 16:47:37,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:37,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:37,354 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) Second operand 55 states. [2022-02-20 16:47:37,354 INFO L87 Difference]: Start difference. First operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) Second operand 55 states. [2022-02-20 16:47:37,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:37,355 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-02-20 16:47:37,355 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-02-20 16:47:37,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:37,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:37,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:37,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:37,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 38 states have internal predecessors, (40), 8 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2022-02-20 16:47:37,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 58 transitions. [2022-02-20 16:47:37,357 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 58 transitions. Word has length 64 [2022-02-20 16:47:37,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:37,357 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 58 transitions. [2022-02-20 16:47:37,357 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.3333333333333335) internal successors, (50), 13 states have internal predecessors, (50), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (14), 7 states have call predecessors, (14), 6 states have call successors, (14) [2022-02-20 16:47:37,357 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 58 transitions. [2022-02-20 16:47:37,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 16:47:37,358 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:37,358 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:47:37,367 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (30)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:37,565 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:37,565 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:37,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:37,566 INFO L85 PathProgramCache]: Analyzing trace with hash -1283662981, now seen corresponding path program 1 times [2022-02-20 16:47:37,566 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:37,566 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2053262966] [2022-02-20 16:47:37,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:37,566 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:37,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:37,567 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:37,569 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (31)] Waiting until timeout for monitored process [2022-02-20 16:47:37,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:37,633 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:47:37,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:37,647 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 0: Hoare triple {16007#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {16007#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L272 TraceCheckUtils]: 2: Hoare triple {16007#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {16007#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 4: Hoare triple {16007#true} assume true; {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {16007#true} {16007#true} #129#return; {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {16007#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {16007#true} assume !main_#t~short13#1; {16007#true} is VALID [2022-02-20 16:47:37,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {16007#true} main_#t~short17#1 := main_#t~short13#1; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {16007#true} assume !main_#t~short17#1; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L272 TraceCheckUtils]: 10: Hoare triple {16007#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {16007#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {16007#true} assume true; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {16007#true} {16007#true} #133#return; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {16007#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {16007#true} assume main_#t~short16#1; {16007#true} is VALID [2022-02-20 16:47:37,926 INFO L272 TraceCheckUtils]: 16: Hoare triple {16007#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {16007#true} is VALID [2022-02-20 16:47:37,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {16007#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16063#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:37,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {16063#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} assume true; {16063#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} is VALID [2022-02-20 16:47:37,928 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {16063#(or (and (= |isnan_float_#res| (_ bv0 32)) (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (and (not (fp.eq |isnan_float_#in~x| |isnan_float_#in~x|)) (= |isnan_float_#res| (_ bv1 32))))} {16007#true} #135#return; {16070#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} is VALID [2022-02-20 16:47:37,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {16070#(or (and (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv0 32))) (and (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (= |ULTIMATE.start_main_#t~ret15#1| (_ bv1 32))))} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {16074#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} is VALID [2022-02-20 16:47:37,929 INFO L290 TraceCheckUtils]: 21: Hoare triple {16074#(or (and (not |ULTIMATE.start_main_#t~short16#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (and |ULTIMATE.start_main_#t~short16#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))))} main_#t~short17#1 := main_#t~short16#1; {16078#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {16078#(or (and |ULTIMATE.start_main_#t~short17#1| (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|))) (and (not |ULTIMATE.start_main_#t~short17#1|) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:37,930 INFO L272 TraceCheckUtils]: 23: Hoare triple {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 24: Hoare triple {16007#true} ~x := #in~x;havoc ~w~0; {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {16007#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 26: Hoare triple {16007#true} goto; {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 27: Hoare triple {16007#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L290 TraceCheckUtils]: 28: Hoare triple {16007#true} assume true; {16007#true} is VALID [2022-02-20 16:47:37,930 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {16007#true} {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #137#return; {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:37,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} is VALID [2022-02-20 16:47:37,931 INFO L272 TraceCheckUtils]: 31: Hoare triple {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {16007#true} is VALID [2022-02-20 16:47:37,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {16007#true} ~x := #in~x;havoc ~w~0; {16113#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} is VALID [2022-02-20 16:47:37,939 INFO L290 TraceCheckUtils]: 33: Hoare triple {16113#(= |__fpclassify_float_#in~x| __fpclassify_float_~x)} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:37,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} goto; {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:37,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:37,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:37,940 INFO L290 TraceCheckUtils]: 37: Hoare triple {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} is VALID [2022-02-20 16:47:37,941 INFO L290 TraceCheckUtils]: 38: Hoare triple {16117#(= |__fpclassify_float_#in~x| (fp ((_ extract 31 31) __fpclassify_float_~w~0) ((_ extract 30 23) __fpclassify_float_~w~0) ((_ extract 22 0) __fpclassify_float_~w~0)))} assume 2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0;#res := 1bv32; {16133#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv255 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv255 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:37,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {16133#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv255 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv255 8) (_ bv0 23))))} assume true; {16133#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv255 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv255 8) (_ bv0 23))))} is VALID [2022-02-20 16:47:37,943 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16133#(or (= |__fpclassify_float_#in~x| (fp (_ bv0 1) (_ bv255 8) (_ bv0 23))) (= |__fpclassify_float_#in~x| (fp (_ bv1 1) (_ bv255 8) (_ bv0 23))))} {16082#(not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))} #139#return; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 41: Hoare triple {16008#false} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 42: Hoare triple {16008#false} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 43: Hoare triple {16008#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {16008#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L272 TraceCheckUtils]: 45: Hoare triple {16008#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 46: Hoare triple {16008#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 47: Hoare triple {16008#false} assume true; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16008#false} {16008#false} #141#return; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 49: Hoare triple {16008#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 50: Hoare triple {16008#false} assume !main_#t~short21#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 51: Hoare triple {16008#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L272 TraceCheckUtils]: 52: Hoare triple {16008#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 53: Hoare triple {16008#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 54: Hoare triple {16008#false} assume true; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16008#false} {16008#false} #145#return; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 56: Hoare triple {16008#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 57: Hoare triple {16008#false} assume main_#t~short24#1; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L272 TraceCheckUtils]: 58: Hoare triple {16008#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 59: Hoare triple {16008#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L290 TraceCheckUtils]: 60: Hoare triple {16008#false} assume true; {16008#false} is VALID [2022-02-20 16:47:37,943 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16008#false} {16008#false} #147#return; {16008#false} is VALID [2022-02-20 16:47:37,944 INFO L290 TraceCheckUtils]: 62: Hoare triple {16008#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {16008#false} is VALID [2022-02-20 16:47:37,944 INFO L290 TraceCheckUtils]: 63: Hoare triple {16008#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {16008#false} is VALID [2022-02-20 16:47:37,944 INFO L290 TraceCheckUtils]: 64: Hoare triple {16008#false} assume !false; {16008#false} is VALID [2022-02-20 16:47:37,944 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 36 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 16:47:37,944 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:37,944 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:37,944 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2053262966] [2022-02-20 16:47:37,944 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2053262966] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:37,944 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:37,944 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 16:47:37,945 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1756046888] [2022-02-20 16:47:37,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:37,945 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 65 [2022-02-20 16:47:37,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:37,945 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:37,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:37,987 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:47:37,987 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:37,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:47:37,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=73, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:47:37,988 INFO L87 Difference]: Start difference. First operand 49 states and 58 transitions. Second operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:39,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:39,396 INFO L93 Difference]: Finished difference Result 68 states and 78 transitions. [2022-02-20 16:47:39,396 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:47:39,396 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 65 [2022-02-20 16:47:39,397 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:39,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:39,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-02-20 16:47:39,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:39,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-02-20 16:47:39,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-02-20 16:47:39,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:39,495 INFO L225 Difference]: With dead ends: 68 [2022-02-20 16:47:39,495 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 16:47:39,495 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 58 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:47:39,496 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 32 mSDsluCounter, 226 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:39,496 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 260 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 189 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 16:47:39,496 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 16:47:39,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-02-20 16:47:39,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:39,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 16:47:39,498 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 16:47:39,498 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 16:47:39,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:39,498 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2022-02-20 16:47:39,498 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 16:47:39,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:39,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:39,499 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-02-20 16:47:39,499 INFO L87 Difference]: Start difference. First operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-02-20 16:47:39,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:39,499 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2022-02-20 16:47:39,499 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 16:47:39,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:39,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:39,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:39,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:39,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 8 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 16:47:39,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 55 transitions. [2022-02-20 16:47:39,500 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 55 transitions. Word has length 65 [2022-02-20 16:47:39,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:39,500 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 55 transitions. [2022-02-20 16:47:39,501 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 9 states have internal predecessors, (43), 3 states have call successors, (8), 2 states have call predecessors, (8), 4 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 16:47:39,501 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 16:47:39,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 16:47:39,501 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:39,501 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:47:39,510 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (31)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:39,701 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:39,701 INFO L402 AbstractCegarLoop]: === Iteration 30 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:39,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:39,702 INFO L85 PathProgramCache]: Analyzing trace with hash -322048964, now seen corresponding path program 1 times [2022-02-20 16:47:39,702 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:47:39,702 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [604593278] [2022-02-20 16:47:39,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:39,702 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:47:39,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:47:39,703 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:47:39,704 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (32)] Waiting until timeout for monitored process [2022-02-20 16:47:39,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:39,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:47:39,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:39,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {16463#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(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {16463#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet9#1, main_#t~nondet10#1, main_#t~ret11#1, main_#t~ret12#1, main_#t~short13#1, main_#t~ret14#1, main_#t~ret15#1, main_#t~short16#1, main_#t~short17#1, main_#t~ret18#1, main_#t~ret19#1, main_#t~ret20#1, main_#t~short21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~short24#1, main_~res~0#1, main_~x~0#1, main_~y~0#1;main_~x~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1;main_~y~0#1 := main_#t~nondet10#1;havoc main_#t~nondet10#1; {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L272 TraceCheckUtils]: 2: Hoare triple {16463#true} call main_#t~ret11#1 := isnan_float(main_~x~0#1); {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 3: Hoare triple {16463#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 4: Hoare triple {16463#true} assume true; {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {16463#true} {16463#true} #129#return; {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 6: Hoare triple {16463#true} main_#t~short13#1 := 0bv32 != main_#t~ret11#1; {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {16463#true} assume !main_#t~short13#1; {16463#true} is VALID [2022-02-20 16:47:39,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {16463#true} main_#t~short17#1 := main_#t~short13#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {16463#true} assume !main_#t~short17#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L272 TraceCheckUtils]: 10: Hoare triple {16463#true} call main_#t~ret14#1 := isnan_float(main_~x~0#1); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {16463#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {16463#true} assume true; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {16463#true} {16463#true} #133#return; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {16463#true} main_#t~short16#1 := 0bv32 == main_#t~ret14#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {16463#true} assume main_#t~short16#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L272 TraceCheckUtils]: 16: Hoare triple {16463#true} call main_#t~ret15#1 := isnan_float(main_~y~0#1); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 17: Hoare triple {16463#true} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {16463#true} assume true; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {16463#true} {16463#true} #135#return; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {16463#true} main_#t~short16#1 := 0bv32 != main_#t~ret15#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 21: Hoare triple {16463#true} main_#t~short17#1 := main_#t~short16#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 22: Hoare triple {16463#true} assume main_#t~short17#1;havoc main_#t~ret11#1;havoc main_#t~ret12#1;havoc main_#t~short13#1;havoc main_#t~ret14#1;havoc main_#t~ret15#1;havoc main_#t~short16#1;havoc main_#t~short17#1;assume { :begin_inline_fmin_float } true;fmin_float_#in~x#1, fmin_float_#in~y#1 := main_~x~0#1, main_~y~0#1;havoc fmin_float_#res#1;havoc fmin_float_#t~ret5#1, fmin_float_#t~ret6#1, fmin_float_#t~ite7#1, fmin_float_~x#1, fmin_float_~y#1;fmin_float_~x#1 := fmin_float_#in~x#1;fmin_float_~y#1 := fmin_float_#in~y#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L272 TraceCheckUtils]: 23: Hoare triple {16463#true} call fmin_float_#t~ret5#1 := __fpclassify_float(fmin_float_~x#1); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {16463#true} ~x := #in~x;havoc ~w~0; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {16463#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {16463#true} goto; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {16463#true} assume 0bv32 == ~w~0 || 2147483648bv32 == ~w~0;#res := 2bv32; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {16463#true} assume true; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {16463#true} {16463#true} #137#return; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {16463#true} assume !(0bv32 == fmin_float_#t~ret5#1);havoc fmin_float_#t~ret5#1; {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L272 TraceCheckUtils]: 31: Hoare triple {16463#true} call fmin_float_#t~ret6#1 := __fpclassify_float(fmin_float_~y#1); {16463#true} is VALID [2022-02-20 16:47:39,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {16463#true} ~x := #in~x;havoc ~w~0; {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {16463#true} call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~w~0 := #t~mem4;havoc #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {16463#true} goto; {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {16463#true} assume !(0bv32 == ~w~0 || 2147483648bv32 == ~w~0); {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {16463#true} assume !((~bvuge32(~w~0, 8388608bv32) && ~bvule32(~w~0, 2139095039bv32)) || (~bvuge32(~w~0, 2155872256bv32) && ~bvule32(~w~0, 4286578687bv32))); {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {16463#true} assume !((~bvuge32(~w~0, 1bv32) && ~bvule32(~w~0, 8388607bv32)) || (~bvuge32(~w~0, 2147483649bv32) && ~bvule32(~w~0, 2155872255bv32))); {16463#true} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {16463#true} assume !(2139095040bv32 == ~w~0 || 4286578688bv32 == ~w~0);#res := 0bv32; {16582#(= (_ bv0 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:39,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {16582#(= (_ bv0 32) |__fpclassify_float_#res|)} assume true; {16582#(= (_ bv0 32) |__fpclassify_float_#res|)} is VALID [2022-02-20 16:47:39,883 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16582#(= (_ bv0 32) |__fpclassify_float_#res|)} {16463#true} #139#return; {16589#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv0 32))} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {16589#(= |ULTIMATE.start_fmin_float_#t~ret6#1| (_ bv0 32))} assume !(0bv32 == fmin_float_#t~ret6#1);havoc fmin_float_#t~ret6#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {16464#false} assume !~fp.lt~FLOAT(fmin_float_~x#1, fmin_float_~y#1);fmin_float_#t~ite7#1 := fmin_float_~y#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 43: Hoare triple {16464#false} fmin_float_#res#1 := fmin_float_#t~ite7#1;havoc fmin_float_#t~ite7#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 44: Hoare triple {16464#false} main_#t~ret18#1 := fmin_float_#res#1;assume { :end_inline_fmin_float } true;main_~res~0#1 := main_#t~ret18#1;havoc main_#t~ret18#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L272 TraceCheckUtils]: 45: Hoare triple {16464#false} call main_#t~ret19#1 := isnan_float(main_~x~0#1); {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 46: Hoare triple {16464#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 47: Hoare triple {16464#false} assume true; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16464#false} {16464#false} #141#return; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 49: Hoare triple {16464#false} main_#t~short21#1 := 0bv32 != main_#t~ret19#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 50: Hoare triple {16464#false} assume !main_#t~short21#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 51: Hoare triple {16464#false} assume !(main_#t~short21#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~y~0#1));havoc main_#t~ret19#1;havoc main_#t~ret20#1;havoc main_#t~short21#1; {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L272 TraceCheckUtils]: 52: Hoare triple {16464#false} call main_#t~ret22#1 := isnan_float(main_~x~0#1); {16464#false} is VALID [2022-02-20 16:47:39,883 INFO L290 TraceCheckUtils]: 53: Hoare triple {16464#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 54: Hoare triple {16464#false} assume true; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16464#false} {16464#false} #145#return; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 56: Hoare triple {16464#false} main_#t~short24#1 := 0bv32 == main_#t~ret22#1; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 57: Hoare triple {16464#false} assume main_#t~short24#1; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L272 TraceCheckUtils]: 58: Hoare triple {16464#false} call main_#t~ret23#1 := isnan_float(main_~y~0#1); {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 59: Hoare triple {16464#false} ~x := #in~x;#res := (if !~fp.eq~FLOAT(~x, ~x) then 1bv32 else 0bv32); {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 60: Hoare triple {16464#false} assume true; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16464#false} {16464#false} #147#return; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 62: Hoare triple {16464#false} main_#t~short24#1 := 0bv32 != main_#t~ret23#1; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 63: Hoare triple {16464#false} assume main_#t~short24#1 && !~fp.eq~FLOAT(main_~res~0#1, main_~x~0#1);havoc main_#t~ret22#1;havoc main_#t~ret23#1;havoc main_#t~short24#1; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L290 TraceCheckUtils]: 64: Hoare triple {16464#false} assume !false; {16464#false} is VALID [2022-02-20 16:47:39,884 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 29 proven. 0 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-02-20 16:47:39,884 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:47:39,884 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:47:39,884 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [604593278] [2022-02-20 16:47:39,884 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [604593278] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:39,884 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:39,884 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:47:39,884 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1518867622] [2022-02-20 16:47:39,885 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:39,885 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 65 [2022-02-20 16:47:39,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:39,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:39,917 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:47:39,917 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:47:39,918 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:47:39,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:47:39,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:39,918 INFO L87 Difference]: Start difference. First operand 47 states and 55 transitions. Second operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:39,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:39,975 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-02-20 16:47:39,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:47:39,976 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 65 [2022-02-20 16:47:39,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:39,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:39,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 57 transitions. [2022-02-20 16:47:39,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:39,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 57 transitions. [2022-02-20 16:47:39,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 57 transitions. [2022-02-20 16:47:40,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:40,011 INFO L225 Difference]: With dead ends: 50 [2022-02-20 16:47:40,011 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 16:47:40,011 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:47:40,012 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 0 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 103 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:47:40,012 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 103 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:47:40,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 16:47:40,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 16:47:40,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:40,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:47:40,012 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:47:40,013 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:47:40,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:40,013 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:40,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:40,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 16:47:40,013 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 16:47:40,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:40,013 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:40,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:40,013 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:40,013 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:40,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:47:40,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 65 [2022-02-20 16:47:40,013 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:40,013 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 16:47:40,013 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 16:47:40,014 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:47:40,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:40,015 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2022-02-20 16:47:40,016 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 16:47:40,025 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (32)] Forceful destruction successful, exit code 0 [2022-02-20 16:47:40,216 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:47:40,218 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point isnan_floatFINAL(line 59) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L861 garLoopResultBuilder]: At program point isnan_floatENTRY(line 59) the Hoare annotation is: true [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point isnan_floatEXIT(line 59) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION(line 83) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L77(line 77) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L854 garLoopResultBuilder]: At program point L40(line 40) the Hoare annotation is: (let ((.cse1 (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)) (.cse2 (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (.cse0 (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))) (or (and (not .cse0) .cse1 .cse2 (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) (and (not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)) .cse1 (not .cse2) .cse0))) [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L40-1(lines 40 41) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L-1(line -1) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startENTRY(line -1) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION(line 77) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L854 garLoopResultBuilder]: At program point L82(line 82) the Hoare annotation is: (let ((.cse0 (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|))) (or (and (not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)) .cse0 (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) (and .cse0 (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))))) [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L82-1(line 82) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L82-2(line 82) no Hoare annotation was computed. [2022-02-20 16:47:40,839 INFO L854 garLoopResultBuilder]: At program point L82-3(line 82) the Hoare annotation is: (and (not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)) (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) [2022-02-20 16:47:40,839 INFO L858 garLoopResultBuilder]: For program point L82-4(line 82) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L82-6(lines 82 85) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L861 garLoopResultBuilder]: At program point L70(line 70) the Hoare annotation is: true [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-1(line 70) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-2(line 70) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L854 garLoopResultBuilder]: At program point L70-3(line 70) the Hoare annotation is: (and |ULTIMATE.start_main_#t~short13#1| (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-4(line 70) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-6(line 70) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-7(lines 70 71) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-9(lines 70 86) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L70-11(lines 70 86) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L83(line 83) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L854 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (let ((.cse0 (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (.cse1 (not |ULTIMATE.start_main_#t~short17#1|)) (.cse2 (not |ULTIMATE.start_main_#t~short13#1|))) (or (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) .cse0 .cse1 .cse2) (and (= |ULTIMATE.start_main_#t~ret12#1| (_ bv1 32)) (= |ULTIMATE.start_main_#t~ret11#1| (_ bv1 32)) (not (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) (not .cse0) .cse1 .cse2))) [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L71-1(line 71) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L854 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse1 (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)) (.cse2 (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (.cse0 (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|))) (or (and (not .cse0) .cse1 .cse2 (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) (and (not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)) .cse1 (not .cse2) .cse0))) [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L71-2(line 71) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L858 garLoopResultBuilder]: For program point L38-1(lines 38 39) no Hoare annotation was computed. [2022-02-20 16:47:40,840 INFO L854 garLoopResultBuilder]: At program point L71-3(line 71) the Hoare annotation is: (and (= |ULTIMATE.start_main_#t~ret11#1| (_ bv0 32)) (= |ULTIMATE.start_main_#t~ret14#1| (_ bv0 32)) |ULTIMATE.start_main_#t~short16#1| (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|) (not |ULTIMATE.start_main_#t~short17#1|) (not |ULTIMATE.start_main_#t~short13#1|)) [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L71-4(line 71) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L71-6(line 71) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L861 garLoopResultBuilder]: At program point L88(lines 61 89) the Hoare annotation is: true [2022-02-20 16:47:40,841 INFO L854 garLoopResultBuilder]: At program point L76(line 76) the Hoare annotation is: (let ((.cse0 (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)) (.cse1 (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (or (and (not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)) .cse0 (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) .cse1 (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) (and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)) .cse0 (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (not .cse1) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))) [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L43(line 43) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L76-1(line 76) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L76-2(line 76) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L43-2(line 43) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L854 garLoopResultBuilder]: At program point L76-3(line 76) the Hoare annotation is: (and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_#t~short21#1| (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~res~0#1| |ULTIMATE.start_main_~y~0#1|) (not (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|)) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)) [2022-02-20 16:47:40,841 INFO L854 garLoopResultBuilder]: At program point L43-3(lines 37 44) the Hoare annotation is: (let ((.cse0 (= |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_main_~y~0#1|)) (.cse1 (fp.eq |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~x~0#1|))) (or (and (not (fp.eq |ULTIMATE.start_fmin_float_~y#1| |ULTIMATE.start_fmin_float_~y#1|)) .cse0 (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~x~0#1|) .cse1 (= |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_main_~x~0#1|)) (and (= |ULTIMATE.start_fmin_float_#res#1| |ULTIMATE.start_main_~y~0#1|) (not (fp.eq |ULTIMATE.start_fmin_float_~x#1| |ULTIMATE.start_fmin_float_~x#1|)) .cse0 (not .cse1) (fp.eq |ULTIMATE.start_main_~y~0#1| |ULTIMATE.start_main_~y~0#1|)))) [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L76-4(line 76) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L76-6(lines 76 79) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L31(lines 31 34) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point __fpclassify_floatFINAL(lines 14 35) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L25(lines 25 34) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L17-1(lines 17 21) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L854 garLoopResultBuilder]: At program point L17-2(lines 17 21) the Hoare annotation is: (= |__fpclassify_float_#in~x| __fpclassify_float_~x) [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L17-3(lines 14 35) no Hoare annotation was computed. [2022-02-20 16:47:40,841 INFO L858 garLoopResultBuilder]: For program point L28(lines 28 34) no Hoare annotation was computed. [2022-02-20 16:47:40,842 INFO L861 garLoopResultBuilder]: At program point __fpclassify_floatENTRY(lines 14 35) the Hoare annotation is: true [2022-02-20 16:47:40,842 INFO L858 garLoopResultBuilder]: For program point __fpclassify_floatEXIT(lines 14 35) no Hoare annotation was computed. [2022-02-20 16:47:40,844 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:47:40,845 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:47:40,848 WARN L170 areAnnotationChecker]: isnan_floatFINAL has no Hoare annotation [2022-02-20 16:47:40,848 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatFINAL has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,849 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: isnan_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L70-1 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L70-1 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L70-4 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L71-1 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L71-4 has no Hoare annotation [2022-02-20 16:47:40,850 WARN L170 areAnnotationChecker]: L76-1 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L76-4 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-1 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-4 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: __fpclassify_floatFINAL has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L70-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L70-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L70-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L71-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L71-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L71-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L76-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L76-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L76-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L76-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L82-6 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: __fpclassify_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: __fpclassify_floatEXIT has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-02-20 16:47:40,851 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-4 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-7 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-7 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L71-4 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-9 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-9 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L76-4 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L77 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L82-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L82-4 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L83 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L83 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L70-11 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L71-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: L38-1 has no Hoare annotation [2022-02-20 16:47:40,852 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 16:47:40,853 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-02-20 16:47:40,853 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 16:47:40,853 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 16:47:40,854 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 16:47:40,854 WARN L170 areAnnotationChecker]: L76-1 has no Hoare annotation [2022-02-20 16:47:40,854 WARN L170 areAnnotationChecker]: L43-2 has no Hoare annotation [2022-02-20 16:47:40,854 INFO L163 areAnnotationChecker]: CFG has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-02-20 16:47:40,872 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 04:47:40 BoogieIcfgContainer [2022-02-20 16:47:40,873 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 16:47:40,873 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 16:47:40,873 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 16:47:40,874 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 16:47:40,874 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:46:48" (3/4) ... [2022-02-20 16:47:40,879 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 16:47:40,884 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_float [2022-02-20 16:47:40,884 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __fpclassify_float [2022-02-20 16:47:40,889 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 18 nodes and edges [2022-02-20 16:47:40,890 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 7 nodes and edges [2022-02-20 16:47:40,890 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2022-02-20 16:47:40,890 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 16:47:40,909 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: \old(x) == x [2022-02-20 16:47:40,909 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((((!~fp.eq~FLOAT(y, y) && y == y) && \result == x) && ~fp.eq~FLOAT(x, x)) && x == x) || ((((\result == y && !~fp.eq~FLOAT(x, x)) && y == y) && !~fp.eq~FLOAT(x, x)) && ~fp.eq~FLOAT(y, y)) [2022-02-20 16:47:40,928 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 16:47:40,928 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 16:47:40,929 INFO L158 Benchmark]: Toolchain (without parser) took 52648.19ms. Allocated memory was 60.8MB in the beginning and 98.6MB in the end (delta: 37.7MB). Free memory was 41.4MB in the beginning and 26.7MB in the end (delta: 14.7MB). Peak memory consumption was 51.2MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,929 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 60.8MB. Free memory was 42.8MB in the beginning and 42.8MB in the end (delta: 50.2kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:47:40,930 INFO L158 Benchmark]: CACSL2BoogieTranslator took 184.33ms. Allocated memory is still 60.8MB. Free memory was 41.2MB in the beginning and 42.6MB in the end (delta: -1.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,933 INFO L158 Benchmark]: Boogie Procedure Inliner took 28.91ms. Allocated memory is still 60.8MB. Free memory was 42.6MB in the beginning and 40.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,933 INFO L158 Benchmark]: Boogie Preprocessor took 22.07ms. Allocated memory is still 60.8MB. Free memory was 40.8MB in the beginning and 38.9MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,933 INFO L158 Benchmark]: RCFGBuilder took 438.48ms. Allocated memory is still 60.8MB. Free memory was 38.9MB in the beginning and 25.2MB in the end (delta: 13.7MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,937 INFO L158 Benchmark]: TraceAbstraction took 51904.96ms. Allocated memory was 60.8MB in the beginning and 98.6MB in the end (delta: 37.7MB). Free memory was 24.7MB in the beginning and 29.8MB in the end (delta: -5.1MB). Peak memory consumption was 44.5MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,937 INFO L158 Benchmark]: Witness Printer took 55.12ms. Allocated memory is still 98.6MB. Free memory was 29.8MB in the beginning and 26.7MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:47:40,939 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.14ms. Allocated memory is still 60.8MB. Free memory was 42.8MB in the beginning and 42.8MB in the end (delta: 50.2kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 184.33ms. Allocated memory is still 60.8MB. Free memory was 41.2MB in the beginning and 42.6MB in the end (delta: -1.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 28.91ms. Allocated memory is still 60.8MB. Free memory was 42.6MB in the beginning and 40.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 22.07ms. Allocated memory is still 60.8MB. Free memory was 40.8MB in the beginning and 38.9MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 438.48ms. Allocated memory is still 60.8MB. Free memory was 38.9MB in the beginning and 25.2MB in the end (delta: 13.7MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 51904.96ms. Allocated memory was 60.8MB in the beginning and 98.6MB in the end (delta: 37.7MB). Free memory was 24.7MB in the beginning and 29.8MB in the end (delta: -5.1MB). Peak memory consumption was 44.5MB. Max. memory is 16.1GB. * Witness Printer took 55.12ms. Allocated memory is still 98.6MB. Free memory was 29.8MB in the beginning and 26.7MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 77]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - PositiveResult [Line: 83]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 55 locations, 2 error locations. Started 1 CEGAR loops. OverallTime: 51.8s, OverallIterations: 30, TraceHistogramMax: 6, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 28.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1301 SdHoareTripleChecker+Valid, 12.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1226 mSDsluCounter, 9572 SdHoareTripleChecker+Invalid, 12.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 133 IncrementalHoareTripleChecker+Unchecked, 7766 mSDsCounter, 340 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 3565 IncrementalHoareTripleChecker+Invalid, 4038 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 340 mSolverCounterUnsat, 1806 mSDtfsCounter, 3565 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2044 GetRequests, 1739 SyntacticMatches, 2 SemanticMatches, 303 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 532 ImplicationChecksByTransitivity, 4.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=100occurred in iteration=14, InterpolantAutomatonStates: 243, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.4s AutomataMinimizationTime, 30 MinimizatonAttempts, 209 StatesRemovedByMinimization, 24 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 137 PreInvPairs, 163 NumberOfFragments, 264 HoareAnnotationTreeSize, 137 FomulaSimplifications, 1064 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 15 FomulaSimplificationsInter, 1513 FormulaSimplificationTreeSizeReductionInter, 0.6s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.2s SsaConstructionTime, 0.9s SatisfiabilityAnalysisTime, 12.9s InterpolantComputationTime, 1490 NumberOfCodeBlocks, 1490 NumberOfCodeBlocksAsserted, 31 NumberOfCheckSat, 1902 ConstructedInterpolants, 9 QuantifiedInterpolants, 5667 SizeOfPredicates, 152 NumberOfNonLiveVariables, 3436 ConjunctsInSsa, 301 ConjunctsInUnsatCore, 40 InterpolantComputations, 20 PerfectInterpolantSequences, 1033/1145 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 2 specifications checked. All of them hold - InvariantResult [Line: 61]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 17]: Loop Invariant Derived loop invariant: \old(x) == x - InvariantResult [Line: 37]: Loop Invariant Derived loop invariant: ((((!~fp.eq~FLOAT(y, y) && y == y) && \result == x) && ~fp.eq~FLOAT(x, x)) && x == x) || ((((\result == y && !~fp.eq~FLOAT(x, x)) && y == y) && !~fp.eq~FLOAT(x, x)) && ~fp.eq~FLOAT(y, y)) RESULT: Ultimate proved your program to be correct! [2022-02-20 16:47:40,976 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 Writing output log to file Ultimate.log Result: TRUE