./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 34004772e6a1e54917776a817538fd6c8fd28f94 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 34004772e6a1e54917776a817538fd6c8fd28f94 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_28)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 14:20:29,530 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:20:29,531 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:20:29,537 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:20:29,537 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:20:29,538 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:20:29,538 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:20:29,539 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:20:29,540 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:20:29,540 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:20:29,541 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:20:29,541 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:20:29,541 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:20:29,542 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:20:29,542 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:20:29,543 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:20:29,543 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:20:29,544 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:20:29,545 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:20:29,546 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:20:29,546 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:20:29,547 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:20:29,549 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:20:29,549 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:20:29,549 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:20:29,550 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:20:29,551 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:20:29,551 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:20:29,551 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:20:29,552 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:20:29,552 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:20:29,552 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:20:29,552 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:20:29,553 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:20:29,553 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:20:29,553 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:20:29,554 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 14:20:29,561 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:20:29,561 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:20:29,562 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:20:29,562 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 14:20:29,562 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 14:20:29,563 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:20:29,563 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:20:29,564 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:20:29,564 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:20:29,565 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:20:29,565 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:20:29,566 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 14:20:29,566 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:20:29,566 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 14:20:29,566 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer 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(__VERIFIER_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 -> 34004772e6a1e54917776a817538fd6c8fd28f94 [2018-11-23 14:20:29,589 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:20:29,599 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:20:29,601 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:20:29,602 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:20:29,602 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:20:29,603 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:29,645 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/763fc3b47/3b8614d5717b4f47a48aa82be7614cdd/FLAG5826bee63 [2018-11-23 14:20:30,005 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:20:30,005 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:30,011 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/763fc3b47/3b8614d5717b4f47a48aa82be7614cdd/FLAG5826bee63 [2018-11-23 14:20:30,410 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/763fc3b47/3b8614d5717b4f47a48aa82be7614cdd [2018-11-23 14:20:30,413 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:20:30,414 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:20:30,415 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:20:30,415 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:20:30,418 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:20:30,418 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,420 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1aedd9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30, skipping insertion in model container [2018-11-23 14:20:30,420 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,427 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:20:30,446 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:20:30,575 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:20:30,578 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:20:30,603 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:20:30,616 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:20:30,617 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30 WrapperNode [2018-11-23 14:20:30,617 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:20:30,617 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:20:30,617 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:20:30,617 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:20:30,659 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,668 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,674 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:20:30,675 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:20:30,675 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:20:30,675 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:20:30,681 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,681 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,683 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,684 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,696 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,702 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,704 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... [2018-11-23 14:20:30,707 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:20:30,707 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:20:30,707 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:20:30,707 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:20:30,708 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:20:30,743 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_exp [2018-11-23 14:20:30,744 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_exp [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 14:20:30,744 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 14:20:30,744 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 14:20:30,744 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 14:20:30,744 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 14:20:30,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:20:30,745 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:20:30,745 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:20:30,745 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 14:20:30,745 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 14:20:30,745 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:20:31,020 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:20:31,021 INFO L280 CfgBuilder]: Removed 14 assue(true) statements. [2018-11-23 14:20:31,021 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:20:31 BoogieIcfgContainer [2018-11-23 14:20:31,021 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:20:31,022 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 14:20:31,022 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 14:20:31,024 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 14:20:31,025 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:20:30" (1/3) ... [2018-11-23 14:20:31,025 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f8b2dba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:20:31, skipping insertion in model container [2018-11-23 14:20:31,025 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:30" (2/3) ... [2018-11-23 14:20:31,027 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6f8b2dba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:20:31, skipping insertion in model container [2018-11-23 14:20:31,027 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:20:31" (3/3) ... [2018-11-23 14:20:31,028 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:31,037 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 14:20:31,043 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 14:20:31,057 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 14:20:31,076 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 14:20:31,076 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 14:20:31,076 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 14:20:31,076 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 14:20:31,076 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 14:20:31,076 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 14:20:31,076 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 14:20:31,076 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 14:20:31,077 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 14:20:31,087 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states. [2018-11-23 14:20:31,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 14:20:31,091 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:20:31,092 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:20:31,093 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:20:31,096 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:20:31,096 INFO L82 PathProgramCache]: Analyzing trace with hash 1667828765, now seen corresponding path program 1 times [2018-11-23 14:20:31,097 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:20:31,098 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:20:31,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:20:31,134 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:20:31,134 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:20:31,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:20:31,225 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:20:31,227 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:20:31,227 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 14:20:31,230 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 14:20:31,242 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 14:20:31,242 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:20:31,244 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 2 states. [2018-11-23 14:20:31,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:20:31,262 INFO L93 Difference]: Finished difference Result 104 states and 157 transitions. [2018-11-23 14:20:31,262 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 14:20:31,263 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 25 [2018-11-23 14:20:31,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:20:31,269 INFO L225 Difference]: With dead ends: 104 [2018-11-23 14:20:31,269 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 14:20:31,271 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:20:31,281 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 14:20:31,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2018-11-23 14:20:31,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 14:20:31,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2018-11-23 14:20:31,295 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 25 [2018-11-23 14:20:31,295 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:20:31,295 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2018-11-23 14:20:31,295 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 14:20:31,295 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 14:20:31,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 14:20:31,296 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:20:31,296 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:20:31,297 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:20:31,297 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:20:31,297 INFO L82 PathProgramCache]: Analyzing trace with hash -201130984, now seen corresponding path program 1 times [2018-11-23 14:20:31,297 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:20:31,297 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:20:31,298 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:20:31,298 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:20:31,298 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:20:31,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:20:31,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:20:31,418 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=42, |#NULL.offset|=39, |old(#NULL.base)|=42, |old(#NULL.offset)|=39, |old(~#halF_exp~0.base)|=21, |old(~#halF_exp~0.offset)|=49, |old(~#ln2HI_exp~0.base)|=45, |old(~#ln2HI_exp~0.offset)|=17, |old(~#ln2LO_exp~0.base)|=30, |old(~#ln2LO_exp~0.offset)|=48, |old(~huge_exp~0)|=40.0, |old(~invln2_exp~0)|=18.0, |old(~o_threshold_exp~0)|=25.0, |old(~one_exp~0)|=38.0, |old(~P1_exp~0)|=20.0, |old(~P2_exp~0)|=23.0, |old(~P3_exp~0)|=32.0, |old(~P4_exp~0)|=36.0, |old(~P5_exp~0)|=34.0, |old(~twom1000_exp~0)|=24.0, |old(~u_threshold_exp~0)|=46.0, |~#halF_exp~0.base|=21, |~#halF_exp~0.offset|=49, |~#ln2HI_exp~0.base|=45, |~#ln2HI_exp~0.offset|=17, |~#ln2LO_exp~0.base|=30, |~#ln2LO_exp~0.offset|=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_exp~0 := 1.0;call ~#halF_exp~0.base, ~#halF_exp~0.offset := #Ultimate.alloc(16);call write~init~real(0.5, ~#halF_exp~0.base, ~#halF_exp~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.5), ~#halF_exp~0.base, 8 + ~#halF_exp~0.offset, 8);~huge_exp~0 := 1.0E300;~twom1000_exp~0 := 9.332636185032189E-302;~o_threshold_exp~0 := 709.782712893384;~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411);call ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset := #Ultimate.alloc(16);call write~init~real(0.6931471803691238, ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), ~#ln2HI_exp~0.base, 8 + ~#ln2HI_exp~0.offset, 8);call ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset := #Ultimate.alloc(16);call write~init~real(1.9082149292705877E-10, ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), ~#ln2LO_exp~0.base, 8 + ~#ln2LO_exp~0.offset, 8);~invln2_exp~0 := 1.4426950408889634;~P1_exp~0 := 0.16666666666666602;~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593);~P3_exp~0 := 6.613756321437934E-5;~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6);~P5_exp~0 := 4.1381367970572385E-8; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=42, |old(#NULL.offset)|=39, |old(~#halF_exp~0.base)|=21, |old(~#halF_exp~0.offset)|=49, |old(~#ln2HI_exp~0.base)|=45, |old(~#ln2HI_exp~0.offset)|=17, |old(~#ln2LO_exp~0.base)|=30, |old(~#ln2LO_exp~0.offset)|=48, |old(~huge_exp~0)|=40.0, |old(~invln2_exp~0)|=18.0, |old(~o_threshold_exp~0)|=25.0, |old(~one_exp~0)|=38.0, |old(~P1_exp~0)|=20.0, |old(~P2_exp~0)|=23.0, |old(~P3_exp~0)|=32.0, |old(~P4_exp~0)|=36.0, |old(~P5_exp~0)|=34.0, |old(~twom1000_exp~0)|=24.0, |old(~u_threshold_exp~0)|=46.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=42, |old(#NULL.offset)|=39, |old(~#halF_exp~0.base)|=21, |old(~#halF_exp~0.offset)|=49, |old(~#ln2HI_exp~0.base)|=45, |old(~#ln2HI_exp~0.offset)|=17, |old(~#ln2LO_exp~0.base)|=30, |old(~#ln2LO_exp~0.offset)|=48, |old(~huge_exp~0)|=40.0, |old(~invln2_exp~0)|=18.0, |old(~o_threshold_exp~0)|=25.0, |old(~one_exp~0)|=38.0, |old(~P1_exp~0)|=20.0, |old(~P2_exp~0)|=23.0, |old(~P3_exp~0)|=32.0, |old(~P4_exp~0)|=36.0, |old(~P5_exp~0)|=34.0, |old(~twom1000_exp~0)|=24.0, |old(~u_threshold_exp~0)|=46.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] RET #168#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] CALL call #t~ret24 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~x := #in~x;havoc ~y~0;havoc ~hi~0;havoc ~lo~0;havoc ~c~0;havoc ~t~0;~k~0 := 0;havoc ~xsb~0;havoc ~hx~0; VAL [__ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] call ~#gh_u~0.base, ~#gh_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#gh_u~0.base, ~#gh_u~0.offset, 8);call #t~mem0 := read~int(~#gh_u~0.base, 4 + ~#gh_u~0.offset, 4);~hx~0 := #t~mem0;call write~real(#t~union1, ~#gh_u~0.base, ~#gh_u~0.offset, 8);havoc #t~mem0;havoc #t~union1;call ULTIMATE.dealloc(~#gh_u~0.base, ~#gh_u~0.offset);havoc ~#gh_u~0.base, ~#gh_u~0.offset; VAL [__ieee754_exp_~hx~0=41, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] goto; VAL [__ieee754_exp_~hx~0=41, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296);~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [__ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, __ieee754_exp_~xsb~0=0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume ~hx~0 % 4294967296 >= 1082535490; VAL [__ieee754_exp_~hx~0=1082535490, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, __ieee754_exp_~xsb~0=0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume !(~hx~0 % 4294967296 >= 2146435072); VAL [__ieee754_exp_~hx~0=1082535490, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, __ieee754_exp_~xsb~0=0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0);#res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [__ieee754_exp_~hx~0=1082535490, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, __ieee754_exp_~xsb~0=0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume true; VAL [__ieee754_exp_~hx~0=1082535490, __ieee754_exp_~k~0=0, __ieee754_exp_~x=26.0, __ieee754_exp_~xsb~0=0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_exp_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] RET #172#return; VAL [main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret22|=47.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~res~0 := #t~ret22;havoc #t~ret22; VAL [main_~res~0=47.0, main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] CALL call #t~ret23 := isinf_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~x := #in~x;havoc ~hx~1;havoc ~lx~1; VAL [isinf_double_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem18 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union19, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem18;havoc #t~union19;call #t~mem20 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union21, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union21;havoc #t~mem20;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [isinf_double_~hx~1=2, isinf_double_~lx~1=5, isinf_double_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] goto; VAL [isinf_double_~hx~1=2, isinf_double_~lx~1=5, isinf_double_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647);~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);~hx~1 := 2146435072 - ~hx~1;#res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isinf_double_~hx~1=2146435072, isinf_double_~lx~1=5, isinf_double_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |isinf_double_#res|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume true; VAL [isinf_double_~hx~1=2146435072, isinf_double_~lx~1=5, isinf_double_~x=26.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=26.0, |isinf_double_#res|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] RET #174#return; VAL [main_~res~0=47.0, main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret23|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [main_~res~0=47.0, main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret23|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume 0 == #t~ret23;havoc #t~ret23; VAL [main_~res~0=47.0, main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] assume !false; VAL [main_~res~0=47.0, main_~x~0=26.0, |#NULL.base|=0, |#NULL.offset|=0, |~#halF_exp~0.base|=19, |~#halF_exp~0.offset|=0, |~#ln2HI_exp~0.base|=44, |~#ln2HI_exp~0.offset|=0, |~#ln2LO_exp~0.base|=31, |~#ln2LO_exp~0.offset|=0, ~huge_exp~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~invln2_exp~0=(/ 1442695040888963387.0 1000000000000000000.0), ~o_threshold_exp~0=(/ 88722839111672996637.0 125000000000000000.0), ~one_exp~0=1.0, ~P1_exp~0=(/ 166666666666666019037.0 1000000000000000000000.0), ~P3_exp~0=(/ 661375632143793436117.0 10000000000000000000000000.0), ~P5_exp~0=(/ 413813679705723846039.0 10000000000000000000000000000.0), ~twom1000_exp~0=(/ 93326361850321887899.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0)] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=42, #NULL.offset=39, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=21, ~#halF_exp~0.offset=49, ~#ln2HI_exp~0.base=45, ~#ln2HI_exp~0.offset=17, ~#ln2LO_exp~0.base=30, ~#ln2LO_exp~0.offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] call ~#halF_exp~0.base, ~#halF_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(0.5, ~#halF_exp~0.base, ~#halF_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(0.5), ~#halF_exp~0.base, 8 + ~#halF_exp~0.offset, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] call ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(0.6931471803691238, ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), ~#ln2HI_exp~0.base, 8 + ~#ln2HI_exp~0.offset, 8); [L17-L42] call ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(1.9082149292705877E-10, ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), ~#ln2LO_exp~0.base, 8 + ~#ln2LO_exp~0.offset, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] call ~#gh_u~0.base, ~#gh_u~0.offset := #Ultimate.alloc(8); [L51] call write~real(~x, ~#gh_u~0.base, ~#gh_u~0.offset, 8); [L52] call #t~mem0 := read~int(~#gh_u~0.base, 4 + ~#gh_u~0.offset, 4); [L52] ~hx~0 := #t~mem0; [L52] call write~real(#t~union1, ~#gh_u~0.base, ~#gh_u~0.offset, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] call ULTIMATE.dealloc(~#gh_u~0.base, ~#gh_u~0.offset); [L50] havoc ~#gh_u~0.base, ~#gh_u~0.offset; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57-L74] assume ~hx~0 % 4294967296 >= 1082535490; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58-L69] assume !(~hx~0 % 4294967296 >= 2146435072); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70-L71] assume ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0); [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L44-L129] ensures true; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=47.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L136] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L137] call #t~mem18 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] call write~real(#t~union19, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] call #t~mem20 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] call write~real(#t~union21, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L135] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L132-L144] ensures true; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret23=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret23=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157-L160] assume 0 == #t~ret23; [L157] havoc #t~ret23; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=42, #NULL.offset=39, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=21, ~#halF_exp~0.offset=49, ~#ln2HI_exp~0.base=45, ~#ln2HI_exp~0.offset=17, ~#ln2LO_exp~0.base=30, ~#ln2LO_exp~0.offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] call ~#halF_exp~0.base, ~#halF_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(0.5, ~#halF_exp~0.base, ~#halF_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(0.5), ~#halF_exp~0.base, 8 + ~#halF_exp~0.offset, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] call ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(0.6931471803691238, ~#ln2HI_exp~0.base, ~#ln2HI_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), ~#ln2HI_exp~0.base, 8 + ~#ln2HI_exp~0.offset, 8); [L17-L42] call ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset := #Ultimate.alloc(16); [L17-L42] call write~init~real(1.9082149292705877E-10, ~#ln2LO_exp~0.base, ~#ln2LO_exp~0.offset, 8); [L17-L42] call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), ~#ln2LO_exp~0.base, 8 + ~#ln2LO_exp~0.offset, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=42, old(#NULL.offset)=39, old(~#halF_exp~0.base)=21, old(~#halF_exp~0.offset)=49, old(~#ln2HI_exp~0.base)=45, old(~#ln2HI_exp~0.offset)=17, old(~#ln2LO_exp~0.base)=30, old(~#ln2LO_exp~0.offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] call ~#gh_u~0.base, ~#gh_u~0.offset := #Ultimate.alloc(8); [L51] call write~real(~x, ~#gh_u~0.base, ~#gh_u~0.offset, 8); [L52] call #t~mem0 := read~int(~#gh_u~0.base, 4 + ~#gh_u~0.offset, 4); [L52] ~hx~0 := #t~mem0; [L52] call write~real(#t~union1, ~#gh_u~0.base, ~#gh_u~0.offset, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] call ULTIMATE.dealloc(~#gh_u~0.base, ~#gh_u~0.offset); [L50] havoc ~#gh_u~0.base, ~#gh_u~0.offset; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57-L74] assume ~hx~0 % 4294967296 >= 1082535490; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58-L69] assume !(~hx~0 % 4294967296 >= 2146435072); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70-L71] assume ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0); [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L44-L129] ensures true; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret22=47.0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L136] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L137] call #t~mem18 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] call write~real(#t~union19, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] call #t~mem20 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] call write~real(#t~union21, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L135] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L132-L144] ensures true; VAL [#in~x=26.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret23=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret23=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157-L160] assume 0 == #t~ret23; [L157] havoc #t~ret23; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#halF_exp~0.base=19, ~#halF_exp~0.offset=0, ~#ln2HI_exp~0.base=44, ~#ln2HI_exp~0.offset=0, ~#ln2LO_exp~0.base=31, ~#ln2LO_exp~0.offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=42, #NULL!offset=39, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=21, ~#halF_exp~0!offset=49, ~#ln2HI_exp~0!base=45, ~#ln2HI_exp~0!offset=17, ~#ln2LO_exp~0!base=30, ~#ln2LO_exp~0!offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] FCALL call ~#halF_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.5, { base: ~#halF_exp~0!base, offset: ~#halF_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.5), { base: ~#halF_exp~0!base, offset: 8 + ~#halF_exp~0!offset }, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] FCALL call ~#ln2HI_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.6931471803691238, { base: ~#ln2HI_exp~0!base, offset: ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), { base: ~#ln2HI_exp~0!base, offset: 8 + ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call ~#ln2LO_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(1.9082149292705877E-10, { base: ~#ln2LO_exp~0!base, offset: ~#ln2LO_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), { base: ~#ln2LO_exp~0!base, offset: 8 + ~#ln2LO_exp~0!offset }, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L51] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] FCALL call #t~mem0 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L52] ~hx~0 := #t~mem0; [L52] FCALL call write~real(#t~union1, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L50] havoc ~#gh_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57] COND TRUE ~hx~0 % 4294967296 >= 1082535490 VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58] COND FALSE !(~hx~0 % 4294967296 >= 2146435072) VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0) [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=47.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L136] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] FCALL call #t~mem18 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] FCALL call write~real(#t~union19, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] FCALL call #t~mem20 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] FCALL call write~real(#t~union21, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L135] havoc ~#ew_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] COND TRUE 0 == #t~ret23 [L157] havoc #t~ret23; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=42, #NULL!offset=39, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=21, ~#halF_exp~0!offset=49, ~#ln2HI_exp~0!base=45, ~#ln2HI_exp~0!offset=17, ~#ln2LO_exp~0!base=30, ~#ln2LO_exp~0!offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] FCALL call ~#halF_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.5, { base: ~#halF_exp~0!base, offset: ~#halF_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.5), { base: ~#halF_exp~0!base, offset: 8 + ~#halF_exp~0!offset }, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] FCALL call ~#ln2HI_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.6931471803691238, { base: ~#ln2HI_exp~0!base, offset: ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), { base: ~#ln2HI_exp~0!base, offset: 8 + ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call ~#ln2LO_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(1.9082149292705877E-10, { base: ~#ln2LO_exp~0!base, offset: ~#ln2LO_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), { base: ~#ln2LO_exp~0!base, offset: 8 + ~#ln2LO_exp~0!offset }, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L51] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] FCALL call #t~mem0 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L52] ~hx~0 := #t~mem0; [L52] FCALL call write~real(#t~union1, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L50] havoc ~#gh_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57] COND TRUE ~hx~0 % 4294967296 >= 1082535490 VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58] COND FALSE !(~hx~0 % 4294967296 >= 2146435072) VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0) [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=47.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L136] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] FCALL call #t~mem18 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] FCALL call write~real(#t~union19, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] FCALL call #t~mem20 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] FCALL call write~real(#t~union21, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L135] havoc ~#ew_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] COND TRUE 0 == #t~ret23 [L157] havoc #t~ret23; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=42, #NULL!offset=39, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=21, ~#halF_exp~0!offset=49, ~#ln2HI_exp~0!base=45, ~#ln2HI_exp~0!offset=17, ~#ln2LO_exp~0!base=30, ~#ln2LO_exp~0!offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] FCALL call ~#halF_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.5, { base: ~#halF_exp~0!base, offset: ~#halF_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.5), { base: ~#halF_exp~0!base, offset: 8 + ~#halF_exp~0!offset }, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] FCALL call ~#ln2HI_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.6931471803691238, { base: ~#ln2HI_exp~0!base, offset: ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), { base: ~#ln2HI_exp~0!base, offset: 8 + ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call ~#ln2LO_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(1.9082149292705877E-10, { base: ~#ln2LO_exp~0!base, offset: ~#ln2LO_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), { base: ~#ln2LO_exp~0!base, offset: 8 + ~#ln2LO_exp~0!offset }, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L51] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] FCALL call #t~mem0 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L52] ~hx~0 := #t~mem0; [L52] FCALL call write~real(#t~union1, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L50] havoc ~#gh_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57] COND TRUE ~hx~0 % 4294967296 >= 1082535490 VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58] COND FALSE !(~hx~0 % 4294967296 >= 2146435072) VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0) [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=47.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L136] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] FCALL call #t~mem18 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] FCALL call write~real(#t~union19, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] FCALL call #t~mem20 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] FCALL call write~real(#t~union21, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L135] havoc ~#ew_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] COND TRUE 0 == #t~ret23 [L157] havoc #t~ret23; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=42, #NULL!offset=39, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=21, ~#halF_exp~0!offset=49, ~#ln2HI_exp~0!base=45, ~#ln2HI_exp~0!offset=17, ~#ln2LO_exp~0!base=30, ~#ln2LO_exp~0!offset=48, ~huge_exp~0=40.0, ~invln2_exp~0=18.0, ~o_threshold_exp~0=25.0, ~one_exp~0=38.0, ~P1_exp~0=20.0, ~P2_exp~0=23.0, ~P3_exp~0=32.0, ~P4_exp~0=36.0, ~P5_exp~0=34.0, ~twom1000_exp~0=24.0, ~u_threshold_exp~0=46.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17-L42] ~one_exp~0 := 1.0; [L17-L42] FCALL call ~#halF_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.5, { base: ~#halF_exp~0!base, offset: ~#halF_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.5), { base: ~#halF_exp~0!base, offset: 8 + ~#halF_exp~0!offset }, 8); [L17-L42] ~huge_exp~0 := 1.0E300; [L17-L42] ~twom1000_exp~0 := 9.332636185032189E-302; [L17-L42] ~o_threshold_exp~0 := 709.782712893384; [L17-L42] ~u_threshold_exp~0 := ~someUnaryDOUBLEoperation(745.1332191019411); [L17-L42] FCALL call ~#ln2HI_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(0.6931471803691238, { base: ~#ln2HI_exp~0!base, offset: ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.6931471803691238), { base: ~#ln2HI_exp~0!base, offset: 8 + ~#ln2HI_exp~0!offset }, 8); [L17-L42] FCALL call ~#ln2LO_exp~0 := #Ultimate.alloc(16); [L17-L42] FCALL call write~init~real(1.9082149292705877E-10, { base: ~#ln2LO_exp~0!base, offset: ~#ln2LO_exp~0!offset }, 8); [L17-L42] FCALL call write~init~real(~someUnaryDOUBLEoperation(1.9082149292705877E-10), { base: ~#ln2LO_exp~0!base, offset: 8 + ~#ln2LO_exp~0!offset }, 8); [L17-L42] ~invln2_exp~0 := 1.4426950408889634; [L17-L42] ~P1_exp~0 := 0.16666666666666602; [L17-L42] ~P2_exp~0 := ~someUnaryDOUBLEoperation(0.0027777777777015593); [L17-L42] ~P3_exp~0 := 6.613756321437934E-5; [L17-L42] ~P4_exp~0 := ~someUnaryDOUBLEoperation(1.6533902205465252E-6); [L17-L42] ~P5_exp~0 := 4.1381367970572385E-8; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=42, old(#NULL!offset)=39, old(~#halF_exp~0!base)=21, old(~#halF_exp~0!offset)=49, old(~#ln2HI_exp~0!base)=45, old(~#ln2HI_exp~0!offset)=17, old(~#ln2LO_exp~0!base)=30, old(~#ln2LO_exp~0!offset)=48, old(~huge_exp~0)=40.0, old(~invln2_exp~0)=18.0, old(~o_threshold_exp~0)=25.0, old(~one_exp~0)=38.0, old(~P1_exp~0)=20.0, old(~P2_exp~0)=23.0, old(~P3_exp~0)=32.0, old(~P4_exp~0)=36.0, old(~P5_exp~0)=34.0, old(~twom1000_exp~0)=24.0, old(~u_threshold_exp~0)=46.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [?] CALL call #t~ret24 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL call #t~ret22 := __ieee754_exp(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L44-L129] ~x := #in~x; [L45] havoc ~y~0; [L45] havoc ~hi~0; [L45] havoc ~lo~0; [L45] havoc ~c~0; [L45] havoc ~t~0; [L46] ~k~0 := 0; [L46] havoc ~xsb~0; [L47] havoc ~hx~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L50] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L51] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] FCALL call #t~mem0 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L52] ~hx~0 := #t~mem0; [L52] FCALL call write~real(#t~union1, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L52] havoc #t~mem0; [L52] havoc #t~union1; [L50] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L50] havoc ~#gh_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=41, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L54] ~xsb~0 := (if ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0 / 2147483648, 1) % 4294967296 % 4294967296 - 4294967296); [L55] ~hx~0 := ~bitwiseAnd(~hx~0, 2147483647); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L57] COND TRUE ~hx~0 % 4294967296 >= 1082535490 VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L58] COND FALSE !(~hx~0 % 4294967296 >= 2146435072) VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L70] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x, ~o_threshold_exp~0) [L71] #res := ~someBinaryArithmeticDOUBLEoperation(~huge_exp~0, ~huge_exp~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~0=1082535490, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~k~0=0, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0, ~xsb~0=0] [L154] RET call #t~ret22 := __ieee754_exp(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret22=47.0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L154] ~res~0 := #t~ret22; [L154] havoc #t~ret22; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] CALL call #t~ret23 := isinf_double(~x~0); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L132-L144] ~x := #in~x; [L133] havoc ~hx~1; [L133] havoc ~lx~1; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L135] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L136] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] FCALL call #t~mem18 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L137] ~hx~1 := (if #t~mem18 % 4294967296 % 4294967296 <= 2147483647 then #t~mem18 % 4294967296 % 4294967296 else #t~mem18 % 4294967296 % 4294967296 - 4294967296); [L137] FCALL call write~real(#t~union19, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L137] havoc #t~mem18; [L137] havoc #t~union19; [L138] FCALL call #t~mem20 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L138] ~lx~1 := (if #t~mem20 % 4294967296 % 4294967296 <= 2147483647 then #t~mem20 % 4294967296 % 4294967296 else #t~mem20 % 4294967296 % 4294967296 - 4294967296); [L138] FCALL call write~real(#t~union21, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L138] havoc #t~union21; [L138] havoc #t~mem20; [L135] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L135] havoc ~#ew_u~0; VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L140] ~hx~1 := ~bitwiseAnd(~hx~1, 2147483647); [L141] ~hx~1 := (if ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L142] ~hx~1 := 2146435072 - ~hx~1; [L143] #res := 1 - (if ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~1, -~hx~1) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=26.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~hx~1=2146435072, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~lx~1=5, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=26.0] [L157] RET call #t~ret23 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret23=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L157] COND TRUE 0 == #t~ret23 [L157] havoc #t~ret23; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L158] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#halF_exp~0!base=19, ~#halF_exp~0!offset=0, ~#ln2HI_exp~0!base=44, ~#ln2HI_exp~0!offset=0, ~#ln2LO_exp~0!base=31, ~#ln2LO_exp~0!offset=0, ~huge_exp~0=1.0E300, ~invln2_exp~0=1442695040888963387/1000000000000000000, ~o_threshold_exp~0=88722839111672996637/125000000000000000, ~one_exp~0=1.0, ~P1_exp~0=166666666666666019037/1000000000000000000000, ~P3_exp~0=661375632143793436117/10000000000000000000000000, ~P5_exp~0=413813679705723846039/10000000000000000000000000000, ~res~0=47.0, ~twom1000_exp~0=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=26.0] [L17-L42] static const double one_exp = 1.0, halF_exp[2] = { 0.5, -0.5, }, huge_exp = 1.0e+300, twom1000_exp = 9.33263618503218878990e-302, o_threshold_exp = 7.09782712893383973096e+02, u_threshold_exp = -7.45133219101941108420e+02, ln2HI_exp[2] = { 6.93147180369123816490e-01, -6.93147180369123816490e-01, }, ln2LO_exp[2] = { 1.90821492927058770002e-10, -1.90821492927058770002e-10, }, invln2_exp = 1.44269504088896338700e+00, P1_exp = 1.66666666666666019037e-01, P2_exp = -2.77777777770155933842e-03, P3_exp = 6.61375632143793436117e-05, P4_exp = -1.65339022054652515390e-06, P5_exp = 4.13813679705723846039e-08; VAL [\old(halF_exp)=49, \old(halF_exp)=21, \old(huge_exp)=40, \old(invln2_exp)=18, \old(ln2HI_exp)=45, \old(ln2HI_exp)=17, \old(ln2LO_exp)=48, \old(ln2LO_exp)=30, \old(o_threshold_exp)=25, \old(one_exp)=38, \old(P1_exp)=20, \old(P2_exp)=23, \old(P3_exp)=32, \old(P4_exp)=36, \old(P5_exp)=34, \old(twom1000_exp)=24, \old(u_threshold_exp)=46, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] double x = 1.0 / 0.0; VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL, EXPR __ieee754_exp(x) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L45] double y, hi, lo, c, t; [L46] __int32_t k = 0, xsb; [L47] __uint32_t hx; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L50] ieee_double_shape_type gh_u; [L51] gh_u.value = (x) [L52] EXPR gh_u.parts.msw [L52] (hx) = gh_u.parts.msw [L54] xsb = (hx >> 31) & 1 [L55] hx &= 0x7fffffff VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L57] COND TRUE hx >= 0x40862E42 VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L58] COND FALSE !(hx >= 0x7ff00000) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L70] COND TRUE x > o_threshold_exp [L71] return huge_exp * huge_exp; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L154] RET, EXPR __ieee754_exp(x) VAL [__ieee754_exp(x)=47, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L154] double res = __ieee754_exp(x); [L157] CALL, EXPR isinf_double(x) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L133] __int32_t hx, lx; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L135] ieee_double_shape_type ew_u; [L136] ew_u.value = (x) [L137] EXPR ew_u.parts.msw [L137] (hx) = ew_u.parts.msw [L138] EXPR ew_u.parts.lsw [L138] (lx) = ew_u.parts.lsw [L140] hx &= 0x7fffffff [L141] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L142] hx = 0x7ff00000 - hx [L143] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=26, \result=0, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435072, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, lx=5, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L157] RET, EXPR isinf_double(x) VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, isinf_double(x)=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, res=47, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L157] COND TRUE !isinf_double(x) [L158] __VERIFIER_error() VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, res=47, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] ----- [2018-11-23 14:20:31,621 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:20:31 BoogieIcfgContainer [2018-11-23 14:20:31,621 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 14:20:31,621 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:20:31,621 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:20:31,621 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:20:31,622 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:20:31" (3/4) ... [2018-11-23 14:20:31,625 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 14:20:31,625 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:20:31,625 INFO L168 Benchmark]: Toolchain (without parser) took 1211.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 959.2 MB in the beginning and 1.0 GB in the end (delta: -85.6 MB). Peak memory consumption was 51.3 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,627 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:20:31,627 INFO L168 Benchmark]: CACSL2BoogieTranslator took 202.06 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 943.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,628 INFO L168 Benchmark]: Boogie Procedure Inliner took 57.10 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 943.1 MB in the beginning and 1.1 GB in the end (delta: -188.5 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,628 INFO L168 Benchmark]: Boogie Preprocessor took 32.12 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,629 INFO L168 Benchmark]: RCFGBuilder took 314.39 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 30.4 MB). Peak memory consumption was 30.4 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,629 INFO L168 Benchmark]: TraceAbstraction took 599.01 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 53.7 MB). Peak memory consumption was 53.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:31,630 INFO L168 Benchmark]: Witness Printer took 3.70 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:20:31,632 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 202.06 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 943.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 57.10 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 943.1 MB in the beginning and 1.1 GB in the end (delta: -188.5 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 32.12 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 314.39 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 30.4 MB). Peak memory consumption was 30.4 MB. Max. memory is 11.5 GB. * TraceAbstraction took 599.01 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 53.7 MB). Peak memory consumption was 53.7 MB. Max. memory is 11.5 GB. * Witness Printer took 3.70 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 158]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 141, overapproximation of someUnaryDOUBLEoperation at line 21, overapproximation of someBinaryArithmeticDOUBLEoperation at line 71, overapproximation of bitwiseAnd at line 140, overapproximation of someBinaryDOUBLEComparisonOperation at line 70. Possible FailurePath: [L17-L42] static const double one_exp = 1.0, halF_exp[2] = { 0.5, -0.5, }, huge_exp = 1.0e+300, twom1000_exp = 9.33263618503218878990e-302, o_threshold_exp = 7.09782712893383973096e+02, u_threshold_exp = -7.45133219101941108420e+02, ln2HI_exp[2] = { 6.93147180369123816490e-01, -6.93147180369123816490e-01, }, ln2LO_exp[2] = { 1.90821492927058770002e-10, -1.90821492927058770002e-10, }, invln2_exp = 1.44269504088896338700e+00, P1_exp = 1.66666666666666019037e-01, P2_exp = -2.77777777770155933842e-03, P3_exp = 6.61375632143793436117e-05, P4_exp = -1.65339022054652515390e-06, P5_exp = 4.13813679705723846039e-08; VAL [\old(halF_exp)=49, \old(halF_exp)=21, \old(huge_exp)=40, \old(invln2_exp)=18, \old(ln2HI_exp)=45, \old(ln2HI_exp)=17, \old(ln2LO_exp)=48, \old(ln2LO_exp)=30, \old(o_threshold_exp)=25, \old(one_exp)=38, \old(P1_exp)=20, \old(P2_exp)=23, \old(P3_exp)=32, \old(P4_exp)=36, \old(P5_exp)=34, \old(twom1000_exp)=24, \old(u_threshold_exp)=46, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L153] double x = 1.0 / 0.0; VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L154] CALL, EXPR __ieee754_exp(x) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L45] double y, hi, lo, c, t; [L46] __int32_t k = 0, xsb; [L47] __uint32_t hx; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L50] ieee_double_shape_type gh_u; [L51] gh_u.value = (x) [L52] EXPR gh_u.parts.msw [L52] (hx) = gh_u.parts.msw [L54] xsb = (hx >> 31) & 1 [L55] hx &= 0x7fffffff VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L57] COND TRUE hx >= 0x40862E42 VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L58] COND FALSE !(hx >= 0x7ff00000) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L70] COND TRUE x > o_threshold_exp [L71] return huge_exp * huge_exp; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=1082535490, invln2_exp=1442695040888963387/1000000000000000000, k=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26, xsb=0] [L154] RET, EXPR __ieee754_exp(x) VAL [__ieee754_exp(x)=47, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L154] double res = __ieee754_exp(x); [L157] CALL, EXPR isinf_double(x) VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L133] __int32_t hx, lx; VAL [\old(x)=26, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L135] ieee_double_shape_type ew_u; [L136] ew_u.value = (x) [L137] EXPR ew_u.parts.msw [L137] (hx) = ew_u.parts.msw [L138] EXPR ew_u.parts.lsw [L138] (lx) = ew_u.parts.lsw [L140] hx &= 0x7fffffff [L141] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L142] hx = 0x7ff00000 - hx [L143] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=26, \result=0, halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435072, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, lx=5, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L157] RET, EXPR isinf_double(x) VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, isinf_double(x)=0, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, res=47, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] [L157] COND TRUE !isinf_double(x) [L158] __VERIFIER_error() VAL [halF_exp={19:0}, huge_exp=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, invln2_exp=1442695040888963387/1000000000000000000, ln2HI_exp={44:0}, ln2LO_exp={31:0}, o_threshold_exp=88722839111672996637/125000000000000000, one_exp=1, P1_exp=166666666666666019037/1000000000000000000000, P3_exp=661375632143793436117/10000000000000000000000000, P5_exp=413813679705723846039/10000000000000000000000000000, res=47, twom1000_exp=93326361850321887899/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=26] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 56 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 67 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=56occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 52 NumberOfCodeBlocks, 52 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 24 ConstructedInterpolants, 0 QuantifiedInterpolants, 576 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 14:20:33,064 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:20:33,065 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:20:33,072 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:20:33,072 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:20:33,073 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:20:33,074 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:20:33,075 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:20:33,076 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:20:33,077 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:20:33,077 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:20:33,078 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:20:33,078 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:20:33,079 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:20:33,080 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:20:33,080 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:20:33,081 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:20:33,082 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:20:33,083 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:20:33,084 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:20:33,085 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:20:33,086 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:20:33,088 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:20:33,088 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:20:33,088 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:20:33,089 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:20:33,089 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:20:33,090 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:20:33,090 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:20:33,091 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:20:33,091 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:20:33,092 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:20:33,092 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:20:33,092 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:20:33,093 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:20:33,093 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:20:33,093 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 14:20:33,103 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:20:33,104 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:20:33,104 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:20:33,104 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 14:20:33,105 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:20:33,105 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:20:33,105 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 14:20:33,105 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:20:33,105 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:20:33,105 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:20:33,106 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:20:33,107 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 14:20:33,107 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:20:33,108 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 14:20:33,108 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer 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(__VERIFIER_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 -> 34004772e6a1e54917776a817538fd6c8fd28f94 [2018-11-23 14:20:33,136 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:20:33,144 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:20:33,146 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:20:33,147 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:20:33,147 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:20:33,147 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:33,183 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/2dd3736ca/50da2f8a71f64c939bb3938ca7882daa/FLAG935e7a720 [2018-11-23 14:20:33,588 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:20:33,589 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:33,594 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/2dd3736ca/50da2f8a71f64c939bb3938ca7882daa/FLAG935e7a720 [2018-11-23 14:20:33,603 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/data/2dd3736ca/50da2f8a71f64c939bb3938ca7882daa [2018-11-23 14:20:33,606 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:20:33,607 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:20:33,608 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:20:33,608 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:20:33,610 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:20:33,611 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,612 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65b641ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33, skipping insertion in model container [2018-11-23 14:20:33,613 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,618 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:20:33,636 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:20:33,779 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:20:33,785 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:20:33,820 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:20:33,841 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:20:33,841 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33 WrapperNode [2018-11-23 14:20:33,842 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:20:33,842 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:20:33,842 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:20:33,842 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:20:33,848 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,857 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,903 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:20:33,904 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:20:33,904 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:20:33,904 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:20:33,910 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,910 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,914 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,914 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,930 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,935 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,938 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... [2018-11-23 14:20:33,941 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:20:33,941 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:20:33,941 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:20:33,941 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:20:33,942 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:20:33,976 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 14:20:33,976 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_exp [2018-11-23 14:20:33,976 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_exp [2018-11-23 14:20:33,977 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 14:20:33,977 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 14:20:33,977 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 14:20:33,977 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 14:20:33,977 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 14:20:33,977 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 14:20:33,977 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 14:20:33,977 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 14:20:33,978 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:20:33,978 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 14:20:33,978 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:20:33,978 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:20:33,978 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 14:20:33,978 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:20:34,106 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:34,469 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,059 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,085 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,099 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,125 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,162 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,193 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:20:45,219 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:20:45,220 INFO L280 CfgBuilder]: Removed 14 assue(true) statements. [2018-11-23 14:20:45,220 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:20:45 BoogieIcfgContainer [2018-11-23 14:20:45,220 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:20:45,221 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 14:20:45,221 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 14:20:45,224 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 14:20:45,224 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:20:33" (1/3) ... [2018-11-23 14:20:45,225 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ecc1f2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:20:45, skipping insertion in model container [2018-11-23 14:20:45,225 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:20:33" (2/3) ... [2018-11-23 14:20:45,225 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ecc1f2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:20:45, skipping insertion in model container [2018-11-23 14:20:45,225 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:20:45" (3/3) ... [2018-11-23 14:20:45,228 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0834_true-unreach-call.c [2018-11-23 14:20:45,238 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 14:20:45,249 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 14:20:45,263 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 14:20:45,289 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 14:20:45,290 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 14:20:45,290 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 14:20:45,290 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 14:20:45,291 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 14:20:45,291 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 14:20:45,291 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 14:20:45,291 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 14:20:45,291 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 14:20:45,306 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states. [2018-11-23 14:20:45,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 14:20:45,312 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:20:45,313 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:20:45,315 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:20:45,319 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:20:45,320 INFO L82 PathProgramCache]: Analyzing trace with hash -923681049, now seen corresponding path program 1 times [2018-11-23 14:20:45,324 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:20:45,324 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 14:20:45,334 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:20:45,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:20:45,651 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:20:45,666 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:20:45,666 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:20:45,678 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:20:45,679 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 14:20:45,681 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 14:20:45,689 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 14:20:45,689 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:20:45,691 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 2 states. [2018-11-23 14:20:45,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:20:45,707 INFO L93 Difference]: Finished difference Result 102 states and 155 transitions. [2018-11-23 14:20:45,707 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 14:20:45,708 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 24 [2018-11-23 14:20:45,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:20:45,716 INFO L225 Difference]: With dead ends: 102 [2018-11-23 14:20:45,717 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 14:20:45,719 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:20:45,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 14:20:45,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 14:20:45,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 14:20:45,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 62 transitions. [2018-11-23 14:20:45,754 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 62 transitions. Word has length 24 [2018-11-23 14:20:45,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:20:45,754 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 62 transitions. [2018-11-23 14:20:45,755 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 14:20:45,755 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 14:20:45,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 14:20:45,755 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:20:45,756 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:20:45,756 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:20:45,756 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:20:45,756 INFO L82 PathProgramCache]: Analyzing trace with hash 1028235080, now seen corresponding path program 1 times [2018-11-23 14:20:45,757 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:20:45,757 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 14:20:45,760 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:20:46,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:20:46,167 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:20:46,217 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:20:46,218 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:20:46,221 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 14:20:46,284 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 14:20:46,285 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 14:20:46,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 14:20:46,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 14:20:46,308 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 14:20:46,309 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:20:46,312 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:20:46,319 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 14:20:46,319 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 14:20:46,414 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:20:46,414 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:20:46,432 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:20:46,432 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 14:20:46,433 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:20:46,433 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:20:46,433 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:20:46,433 INFO L87 Difference]: Start difference. First operand 51 states and 62 transitions. Second operand 7 states. [2018-11-23 14:21:01,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:21:01,094 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 14:21:01,096 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:21:01,096 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 14:21:01,096 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:21:01,099 INFO L225 Difference]: With dead ends: 69 [2018-11-23 14:21:01,099 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 14:21:01,100 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:21:01,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 14:21:01,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 51. [2018-11-23 14:21:01,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 14:21:01,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 59 transitions. [2018-11-23 14:21:01,107 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 59 transitions. Word has length 26 [2018-11-23 14:21:01,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:21:01,107 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 59 transitions. [2018-11-23 14:21:01,107 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:21:01,108 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2018-11-23 14:21:01,108 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 14:21:01,108 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:21:01,109 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:21:01,109 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:21:01,109 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:21:01,109 INFO L82 PathProgramCache]: Analyzing trace with hash 1789825648, now seen corresponding path program 1 times [2018-11-23 14:21:01,110 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:21:01,110 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 14:21:01,117 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:21:01,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:21:01,368 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:21:01,391 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:01,392 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:01,393 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 14:21:01,425 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:01,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 14:21:01,434 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:01,460 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 14:21:01,469 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 14:21:01,469 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:01,473 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:01,478 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:01,490 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 14:21:01,491 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-23 14:21:01,648 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:21:01,648 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:21:01,663 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:21:01,664 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 14:21:01,664 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 14:21:01,664 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 14:21:01,664 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:21:01,665 INFO L87 Difference]: Start difference. First operand 51 states and 59 transitions. Second operand 8 states. [2018-11-23 14:21:18,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:21:18,713 INFO L93 Difference]: Finished difference Result 68 states and 75 transitions. [2018-11-23 14:21:18,715 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:21:18,715 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 14:21:18,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:21:18,716 INFO L225 Difference]: With dead ends: 68 [2018-11-23 14:21:18,716 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 14:21:18,717 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:21:18,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 14:21:18,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2018-11-23 14:21:18,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 14:21:18,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 58 transitions. [2018-11-23 14:21:18,722 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 58 transitions. Word has length 28 [2018-11-23 14:21:18,723 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:21:18,723 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 58 transitions. [2018-11-23 14:21:18,723 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 14:21:18,723 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2018-11-23 14:21:18,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 14:21:18,724 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:21:18,724 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:21:18,724 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:21:18,724 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:21:18,724 INFO L82 PathProgramCache]: Analyzing trace with hash -1234074122, now seen corresponding path program 1 times [2018-11-23 14:21:18,724 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:21:18,725 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 14:21:18,727 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:21:22,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:21:22,564 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:21:22,586 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:22,587 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:22,588 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 14:21:22,626 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:22,634 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 14:21:22,634 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:22,651 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 14:21:22,655 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 14:21:22,656 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:22,658 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:22,660 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:22,674 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 14:21:22,674 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 14:21:22,760 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:21:22,760 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:21:22,800 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:21:22,801 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 14:21:22,801 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:21:22,801 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:21:22,801 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:21:22,802 INFO L87 Difference]: Start difference. First operand 51 states and 58 transitions. Second operand 7 states. [2018-11-23 14:21:40,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:21:40,551 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2018-11-23 14:21:40,553 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 14:21:40,553 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 28 [2018-11-23 14:21:40,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:21:40,554 INFO L225 Difference]: With dead ends: 83 [2018-11-23 14:21:40,554 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 14:21:40,555 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:21:40,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 14:21:40,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 49. [2018-11-23 14:21:40,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 14:21:40,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-23 14:21:40,559 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 28 [2018-11-23 14:21:40,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:21:40,559 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-23 14:21:40,559 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:21:40,560 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 14:21:40,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 14:21:40,560 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:21:40,560 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:21:40,560 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:21:40,560 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:21:40,561 INFO L82 PathProgramCache]: Analyzing trace with hash -920540292, now seen corresponding path program 1 times [2018-11-23 14:21:40,561 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:21:40,561 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 14:21:40,566 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:21:45,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:21:45,333 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:21:45,354 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:45,355 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:21:45,356 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 14:21:45,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 14:21:45,402 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:45,414 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 14:21:45,418 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 14:21:45,418 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 14:21:45,419 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:45,421 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 14:21:45,427 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 14:21:45,428 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 14:21:45,504 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:21:45,504 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:21:45,555 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:21:45,555 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 14:21:45,555 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:21:45,556 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:21:45,556 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:21:45,556 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 7 states. [2018-11-23 14:22:05,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:22:05,054 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2018-11-23 14:22:05,447 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:22:05,447 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-23 14:22:05,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:22:05,448 INFO L225 Difference]: With dead ends: 80 [2018-11-23 14:22:05,448 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 14:22:05,449 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:22:05,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 14:22:05,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2018-11-23 14:22:05,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 14:22:05,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 52 transitions. [2018-11-23 14:22:05,453 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 52 transitions. Word has length 29 [2018-11-23 14:22:05,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:22:05,453 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 52 transitions. [2018-11-23 14:22:05,453 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:22:05,454 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2018-11-23 14:22:05,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 14:22:05,454 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:22:05,454 INFO L402 BasicCegarLoop]: trace 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] [2018-11-23 14:22:05,455 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:22:05,455 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:22:05,455 INFO L82 PathProgramCache]: Analyzing trace with hash -1920861067, now seen corresponding path program 1 times [2018-11-23 14:22:05,455 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:22:05,455 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_9de35e51-3fc5-4424-a6de-88a0773d5991/bin-2019/uautomizer/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-23 14:22:05,458 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:22:05,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:22:05,724 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:22:05,754 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:22:05,754 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:22:05,755 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:22:05,756 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 14:22:05,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 76 [2018-11-23 14:22:05,959 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2018-11-23 14:22:05,959 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_28)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) 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:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 14:22:05,962 INFO L168 Benchmark]: Toolchain (without parser) took 92355.38 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 949.7 MB in the beginning and 827.5 MB in the end (delta: 122.2 MB). Peak memory consumption was 277.4 MB. Max. memory is 11.5 GB. [2018-11-23 14:22:05,963 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:22:05,963 INFO L168 Benchmark]: CACSL2BoogieTranslator took 234.11 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:22:05,964 INFO L168 Benchmark]: Boogie Procedure Inliner took 61.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -209.3 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:22:05,965 INFO L168 Benchmark]: Boogie Preprocessor took 37.32 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:22:05,965 INFO L168 Benchmark]: RCFGBuilder took 11278.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 51.5 MB). Peak memory consumption was 51.5 MB. Max. memory is 11.5 GB. [2018-11-23 14:22:05,966 INFO L168 Benchmark]: TraceAbstraction took 80740.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 827.5 MB in the end (delta: 263.9 MB). Peak memory consumption was 263.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:22:05,968 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 234.11 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 61.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -209.3 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 37.32 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 11278.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 51.5 MB). Peak memory consumption was 51.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 80740.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 827.5 MB in the end (delta: 263.9 MB). Peak memory consumption was 263.9 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_28)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_28)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...