./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_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan --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 Taipan --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_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan --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 Taipan --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 08:59:48,482 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 08:59:48,483 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 08:59:48,490 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 08:59:48,490 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 08:59:48,491 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 08:59:48,491 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 08:59:48,493 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 08:59:48,494 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 08:59:48,494 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 08:59:48,495 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 08:59:48,495 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 08:59:48,496 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 08:59:48,497 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 08:59:48,497 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 08:59:48,498 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 08:59:48,499 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 08:59:48,500 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 08:59:48,501 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 08:59:48,502 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 08:59:48,503 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 08:59:48,504 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 08:59:48,505 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 08:59:48,506 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 08:59:48,506 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 08:59:48,506 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 08:59:48,507 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 08:59:48,508 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 08:59:48,508 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 08:59:48,509 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 08:59:48,509 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 08:59:48,510 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 08:59:48,510 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 08:59:48,510 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 08:59:48,511 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 08:59:48,511 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 08:59:48,511 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-23 08:59:48,521 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 08:59:48,521 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 08:59:48,522 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 08:59:48,522 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 08:59:48,522 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 08:59:48,522 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 08:59:48,522 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 08:59:48,522 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-23 08:59:48,523 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 08:59:48,523 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 08:59:48,523 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-23 08:59:48,523 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-23 08:59:48,523 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 08:59:48,524 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 08:59:48,524 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 08:59:48,525 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 08:59:48,525 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:59:48,526 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-23 08:59:48,526 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 08:59:48,527 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 08:59:48,527 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 08:59:48,527 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES 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_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan 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 -> Taipan 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 08:59:48,549 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 08:59:48,558 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 08:59:48,561 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 08:59:48,562 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 08:59:48,562 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 08:59:48,563 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 08:59:48,601 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/999bc8e07/5d5272348c2049888338e7e5f54d5e9f/FLAG39b4255fc [2018-11-23 08:59:48,939 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 08:59:48,939 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 08:59:48,944 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/999bc8e07/5d5272348c2049888338e7e5f54d5e9f/FLAG39b4255fc [2018-11-23 08:59:49,361 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/999bc8e07/5d5272348c2049888338e7e5f54d5e9f [2018-11-23 08:59:49,363 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 08:59:49,364 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 08:59:49,365 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 08:59:49,365 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 08:59:49,367 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 08:59:49,368 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,370 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@79859daf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49, skipping insertion in model container [2018-11-23 08:59:49,370 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,379 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 08:59:49,401 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 08:59:49,562 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:59:49,566 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 08:59:49,597 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:59:49,611 INFO L195 MainTranslator]: Completed translation [2018-11-23 08:59:49,612 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49 WrapperNode [2018-11-23 08:59:49,612 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 08:59:49,612 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 08:59:49,612 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 08:59:49,612 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 08:59:49,657 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,667 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,674 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 08:59:49,674 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 08:59:49,674 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 08:59:49,674 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 08:59:49,680 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,680 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,683 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,683 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,696 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,702 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,704 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... [2018-11-23 08:59:49,707 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 08:59:49,707 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 08:59:49,707 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 08:59:49,707 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 08:59:49,708 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_exp [2018-11-23 08:59:49,744 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_exp [2018-11-23 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 08:59:49,744 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 08:59:49,744 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 08:59:49,744 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 08:59:49,745 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 08:59:49,745 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 08:59:49,745 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 08:59:50,055 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 08:59:50,056 INFO L280 CfgBuilder]: Removed 14 assue(true) statements. [2018-11-23 08:59:50,056 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:59:50 BoogieIcfgContainer [2018-11-23 08:59:50,056 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 08:59:50,057 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 08:59:50,057 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 08:59:50,059 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 08:59:50,060 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 08:59:49" (1/3) ... [2018-11-23 08:59:50,060 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7768748b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:59:50, skipping insertion in model container [2018-11-23 08:59:50,060 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:49" (2/3) ... [2018-11-23 08:59:50,061 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7768748b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 08:59:50, skipping insertion in model container [2018-11-23 08:59:50,061 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:59:50" (3/3) ... [2018-11-23 08:59:50,062 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0834_true-unreach-call.c [2018-11-23 08:59:50,068 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 08:59:50,073 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 08:59:50,083 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 08:59:50,102 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 08:59:50,102 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 08:59:50,102 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 08:59:50,102 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 08:59:50,103 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 08:59:50,103 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 08:59:50,103 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 08:59:50,103 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 08:59:50,114 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states. [2018-11-23 08:59:50,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 08:59:50,118 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:59:50,118 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 08:59:50,120 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:59:50,123 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:59:50,124 INFO L82 PathProgramCache]: Analyzing trace with hash 1667828765, now seen corresponding path program 1 times [2018-11-23 08:59:50,125 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 08:59:50,156 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:59:50,157 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:59:50,157 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:59:50,157 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 08:59:50,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 08:59:50,249 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 08:59:50,251 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 08:59:50,251 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 08:59:50,251 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-23 08:59:50,256 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 08:59:50,267 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 08:59:50,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 08:59:50,269 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 2 states. [2018-11-23 08:59:50,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 08:59:50,290 INFO L93 Difference]: Finished difference Result 104 states and 157 transitions. [2018-11-23 08:59:50,290 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 08:59:50,291 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 25 [2018-11-23 08:59:50,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 08:59:50,297 INFO L225 Difference]: With dead ends: 104 [2018-11-23 08:59:50,298 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 08:59:50,300 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 08:59:50,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 08:59:50,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2018-11-23 08:59:50,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 08:59:50,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2018-11-23 08:59:50,329 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 25 [2018-11-23 08:59:50,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 08:59:50,330 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2018-11-23 08:59:50,330 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 08:59:50,330 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2018-11-23 08:59:50,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 08:59:50,330 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 08:59:50,331 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 08:59:50,331 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 08:59:50,331 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 08:59:50,331 INFO L82 PathProgramCache]: Analyzing trace with hash -201130984, now seen corresponding path program 1 times [2018-11-23 08:59:50,331 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 08:59:50,332 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:59:50,332 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 08:59:50,332 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 08:59:50,332 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 08:59:50,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 08:59:50,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 08:59:50,462 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~union1;havoc #t~mem0;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~union19;havoc #t~mem18;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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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~union1; [L52] havoc #t~mem0; [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~union19; [L137] havoc #t~mem18; [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 08:59:50,678 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 08:59:50 BoogieIcfgContainer [2018-11-23 08:59:50,678 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 08:59:50,678 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 08:59:50,678 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 08:59:50,679 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 08:59:50,679 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 08:59:50" (3/4) ... [2018-11-23 08:59:50,682 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 08:59:50,682 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 08:59:50,683 INFO L168 Benchmark]: Toolchain (without parser) took 1319.41 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -68.1 MB). Peak memory consumption was 51.9 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,684 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:59:50,685 INFO L168 Benchmark]: CACSL2BoogieTranslator took 247.33 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 942.9 MB in the end (delta: 16.2 MB). Peak memory consumption was 16.2 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,686 INFO L168 Benchmark]: Boogie Procedure Inliner took 61.60 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 942.9 MB in the beginning and 1.1 GB in the end (delta: -168.7 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,686 INFO L168 Benchmark]: Boogie Preprocessor took 32.72 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 08:59:50,686 INFO L168 Benchmark]: RCFGBuilder took 349.18 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 34.4 MB). Peak memory consumption was 34.4 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,687 INFO L168 Benchmark]: TraceAbstraction took 621.35 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 46.6 MB). Peak memory consumption was 46.6 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,687 INFO L168 Benchmark]: Witness Printer took 4.24 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 08:59:50,690 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.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 247.33 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 942.9 MB in the end (delta: 16.2 MB). Peak memory consumption was 16.2 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 61.60 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.1 MB). Free memory was 942.9 MB in the beginning and 1.1 GB in the end (delta: -168.7 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 32.72 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 349.18 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 34.4 MB). Peak memory consumption was 34.4 MB. Max. memory is 11.5 GB. * TraceAbstraction took 621.35 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 46.6 MB). Peak memory consumption was 46.6 MB. Max. memory is 11.5 GB. * Witness Printer took 4.24 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. 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 08:59:52,206 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 08:59:52,207 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 08:59:52,216 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 08:59:52,217 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 08:59:52,217 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 08:59:52,218 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 08:59:52,219 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 08:59:52,221 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 08:59:52,221 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 08:59:52,222 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 08:59:52,222 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 08:59:52,223 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 08:59:52,224 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 08:59:52,224 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 08:59:52,225 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 08:59:52,226 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 08:59:52,227 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 08:59:52,228 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 08:59:52,229 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 08:59:52,230 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 08:59:52,231 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 08:59:52,233 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 08:59:52,233 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 08:59:52,233 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 08:59:52,234 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 08:59:52,235 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 08:59:52,235 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 08:59:52,236 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 08:59:52,236 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 08:59:52,237 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 08:59:52,237 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 08:59:52,237 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 08:59:52,237 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 08:59:52,238 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 08:59:52,239 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 08:59:52,239 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-23 08:59:52,249 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 08:59:52,249 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 08:59:52,250 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 08:59:52,250 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 08:59:52,250 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 08:59:52,251 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 08:59:52,251 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 08:59:52,251 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 08:59:52,251 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 08:59:52,251 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 08:59:52,252 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 08:59:52,252 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 08:59:52,252 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 08:59:52,252 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 08:59:52,252 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 08:59:52,253 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 08:59:52,254 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 08:59:52,254 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 08:59:52,254 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 08:59:52,254 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 08:59:52,254 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 08:59:52,254 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 08:59:52,255 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 08:59:52,255 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 08:59:52,256 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_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan 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 -> Taipan 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 08:59:52,286 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 08:59:52,296 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 08:59:52,299 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 08:59:52,300 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 08:59:52,300 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 08:59:52,301 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 08:59:52,349 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/028444843/ebd3a456e33d4149b05ef26fa51051ac/FLAGa902a22b3 [2018-11-23 08:59:52,684 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 08:59:52,684 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/sv-benchmarks/c/float-newlib/double_req_bl_0834_true-unreach-call.c [2018-11-23 08:59:52,689 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/028444843/ebd3a456e33d4149b05ef26fa51051ac/FLAGa902a22b3 [2018-11-23 08:59:53,104 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/data/028444843/ebd3a456e33d4149b05ef26fa51051ac [2018-11-23 08:59:53,107 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 08:59:53,108 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 08:59:53,108 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 08:59:53,109 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 08:59:53,112 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 08:59:53,112 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,115 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@fefe51f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53, skipping insertion in model container [2018-11-23 08:59:53,115 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,122 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 08:59:53,142 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 08:59:53,292 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:59:53,296 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 08:59:53,329 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 08:59:53,348 INFO L195 MainTranslator]: Completed translation [2018-11-23 08:59:53,349 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53 WrapperNode [2018-11-23 08:59:53,349 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 08:59:53,350 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 08:59:53,350 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 08:59:53,350 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 08:59:53,355 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,363 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,369 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 08:59:53,369 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 08:59:53,369 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 08:59:53,369 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 08:59:53,375 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,375 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,378 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,379 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,442 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,449 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,451 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... [2018-11-23 08:59:53,455 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 08:59:53,455 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 08:59:53,455 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 08:59:53,455 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 08:59:53,456 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 08:59:53,491 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 08:59:53,491 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_exp [2018-11-23 08:59:53,491 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_exp [2018-11-23 08:59:53,492 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 08:59:53,492 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 08:59:53,492 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 08:59:53,492 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 08:59:53,492 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 08:59:53,492 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 08:59:53,492 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 08:59:53,492 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 08:59:53,493 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 08:59:53,493 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 08:59:53,493 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 08:59:53,493 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 08:59:53,493 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 08:59:53,493 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 08:59:53,631 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 08:59:54,026 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,478 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,501 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,518 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,543 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,580 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,616 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:00:04,631 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:00:04,632 INFO L280 CfgBuilder]: Removed 14 assue(true) statements. [2018-11-23 09:00:04,632 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:00:04 BoogieIcfgContainer [2018-11-23 09:00:04,632 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:00:04,633 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 09:00:04,633 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 09:00:04,635 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 09:00:04,635 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 08:59:53" (1/3) ... [2018-11-23 09:00:04,635 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@177687a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:00:04, skipping insertion in model container [2018-11-23 09:00:04,635 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 08:59:53" (2/3) ... [2018-11-23 09:00:04,636 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@177687a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:00:04, skipping insertion in model container [2018-11-23 09:00:04,636 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:00:04" (3/3) ... [2018-11-23 09:00:04,637 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0834_true-unreach-call.c [2018-11-23 09:00:04,643 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 09:00:04,650 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 09:00:04,659 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 09:00:04,681 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 09:00:04,682 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 09:00:04,682 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 09:00:04,682 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 09:00:04,682 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 09:00:04,682 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 09:00:04,683 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 09:00:04,683 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 09:00:04,683 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 09:00:04,696 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states. [2018-11-23 09:00:04,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 09:00:04,700 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:00:04,701 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 09:00:04,702 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:00:04,706 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:00:04,706 INFO L82 PathProgramCache]: Analyzing trace with hash -923681049, now seen corresponding path program 1 times [2018-11-23 09:00:04,709 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:00:04,710 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:00:04,724 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:00:05,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:00:05,061 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:00:05,079 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 09:00:05,080 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:00:05,092 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:00:05,092 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 09:00:05,095 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 09:00:05,103 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 09:00:05,103 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 09:00:05,105 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 2 states. [2018-11-23 09:00:05,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:00:05,126 INFO L93 Difference]: Finished difference Result 102 states and 155 transitions. [2018-11-23 09:00:05,126 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 09:00:05,128 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 24 [2018-11-23 09:00:05,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:00:05,136 INFO L225 Difference]: With dead ends: 102 [2018-11-23 09:00:05,136 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 09:00:05,138 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 09:00:05,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 09:00:05,163 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 09:00:05,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 09:00:05,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 62 transitions. [2018-11-23 09:00:05,166 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 62 transitions. Word has length 24 [2018-11-23 09:00:05,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:00:05,166 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 62 transitions. [2018-11-23 09:00:05,166 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 09:00:05,166 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-23 09:00:05,167 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 09:00:05,167 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:00:05,167 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 09:00:05,167 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:00:05,168 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:00:05,168 INFO L82 PathProgramCache]: Analyzing trace with hash 1028235080, now seen corresponding path program 1 times [2018-11-23 09:00:05,168 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:00:05,168 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:00:05,174 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:00:05,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:00:05,607 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:00:05,657 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:05,658 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:05,662 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 09:00:05,713 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 09:00:05,714 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:05,744 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 09:00:05,755 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 09:00:05,755 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:05,757 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 09:00:05,760 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 09:00:05,768 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 09:00:05,768 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 09:00:05,855 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 09:00:05,856 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:00:05,868 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:00:05,868 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 09:00:05,869 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 09:00:05,869 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 09:00:05,870 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 09:00:05,870 INFO L87 Difference]: Start difference. First operand 51 states and 62 transitions. Second operand 7 states. [2018-11-23 09:00:20,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:00:20,690 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2018-11-23 09:00:20,691 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 09:00:20,691 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 09:00:20,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:00:20,693 INFO L225 Difference]: With dead ends: 69 [2018-11-23 09:00:20,693 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 09:00:20,694 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 09:00:20,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 09:00:20,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 51. [2018-11-23 09:00:20,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 09:00:20,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 59 transitions. [2018-11-23 09:00:20,699 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 59 transitions. Word has length 26 [2018-11-23 09:00:20,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:00:20,699 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 59 transitions. [2018-11-23 09:00:20,699 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 09:00:20,700 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2018-11-23 09:00:20,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 09:00:20,700 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:00:20,700 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 09:00:20,700 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:00:20,701 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:00:20,701 INFO L82 PathProgramCache]: Analyzing trace with hash 1789825648, now seen corresponding path program 1 times [2018-11-23 09:00:20,701 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:00:20,701 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:00:20,704 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:00:20,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:00:20,966 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:00:20,990 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:20,991 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:20,992 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 09:00:21,040 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:21,048 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 09:00:21,048 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:21,080 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 09:00:21,089 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 09:00:21,089 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:21,096 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 09:00:21,101 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 09:00:21,116 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 09:00:21,117 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-23 09:00:21,294 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 09:00:21,294 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:00:21,310 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:00:21,310 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 09:00:21,310 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 09:00:21,310 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 09:00:21,310 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2018-11-23 09:00:21,311 INFO L87 Difference]: Start difference. First operand 51 states and 59 transitions. Second operand 8 states. [2018-11-23 09:00:39,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:00:39,612 INFO L93 Difference]: Finished difference Result 68 states and 75 transitions. [2018-11-23 09:00:39,613 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 09:00:39,614 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 09:00:39,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:00:39,614 INFO L225 Difference]: With dead ends: 68 [2018-11-23 09:00:39,614 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 09:00:39,615 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 09:00:39,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 09:00:39,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2018-11-23 09:00:39,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 09:00:39,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 58 transitions. [2018-11-23 09:00:39,621 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 58 transitions. Word has length 28 [2018-11-23 09:00:39,621 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:00:39,621 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 58 transitions. [2018-11-23 09:00:39,621 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 09:00:39,621 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 58 transitions. [2018-11-23 09:00:39,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 09:00:39,622 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:00:39,622 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 09:00:39,622 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:00:39,623 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:00:39,623 INFO L82 PathProgramCache]: Analyzing trace with hash -1234074122, now seen corresponding path program 1 times [2018-11-23 09:00:39,623 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:00:39,623 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:00:39,626 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:00:43,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:00:43,620 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:00:43,643 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:43,644 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:43,645 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 09:00:43,683 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:00:43,692 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 09:00:43,693 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:43,708 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 09:00:43,713 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 09:00:43,713 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 09:00:43,715 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 09:00:43,718 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 09:00:43,727 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 09:00:43,727 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 09:00:43,822 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 09:00:43,823 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:00:43,858 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:00:43,858 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 09:00:43,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 09:00:43,859 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 09:00:43,859 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 09:00:43,859 INFO L87 Difference]: Start difference. First operand 51 states and 58 transitions. Second operand 7 states. [2018-11-23 09:01:01,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:01:01,860 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2018-11-23 09:01:01,861 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 09:01:01,861 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 28 [2018-11-23 09:01:01,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:01:01,862 INFO L225 Difference]: With dead ends: 83 [2018-11-23 09:01:01,862 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 09:01:01,862 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 09:01:01,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 09:01:01,865 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 49. [2018-11-23 09:01:01,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 09:01:01,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-23 09:01:01,866 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 28 [2018-11-23 09:01:01,866 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:01:01,867 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-23 09:01:01,867 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 09:01:01,867 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 09:01:01,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 09:01:01,867 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:01:01,867 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 09:01:01,867 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:01:01,868 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:01:01,868 INFO L82 PathProgramCache]: Analyzing trace with hash -920540292, now seen corresponding path program 1 times [2018-11-23 09:01:01,868 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:01:01,868 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:01:01,871 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:01:06,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:01:06,726 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:01:06,752 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:06,753 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:06,754 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 09:01:06,801 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 09:01:06,801 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 09:01:06,812 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 09:01:06,816 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 09:01:06,816 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 09:01:06,818 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 09:01:06,819 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 09:01:06,825 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 09:01:06,825 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 09:01:06,910 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 09:01:06,910 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:01:06,957 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:01:06,957 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 09:01:06,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 09:01:06,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 09:01:06,957 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 09:01:06,957 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 7 states. [2018-11-23 09:01:26,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:01:26,656 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2018-11-23 09:01:27,061 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 09:01:27,061 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-23 09:01:27,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:01:27,062 INFO L225 Difference]: With dead ends: 80 [2018-11-23 09:01:27,062 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 09:01:27,062 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 09:01:27,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 09:01:27,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2018-11-23 09:01:27,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 09:01:27,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 52 transitions. [2018-11-23 09:01:27,067 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 52 transitions. Word has length 29 [2018-11-23 09:01:27,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:01:27,067 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 52 transitions. [2018-11-23 09:01:27,067 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 09:01:27,068 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2018-11-23 09:01:27,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 09:01:27,068 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:01:27,068 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 09:01:27,068 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:01:27,069 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:01:27,069 INFO L82 PathProgramCache]: Analyzing trace with hash -1920861067, now seen corresponding path program 1 times [2018-11-23 09:01:27,069 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 09:01:27,069 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_11663eab-6f0a-419b-a3cd-1050a87cf05f/bin-2019/utaipan/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 09:01:27,073 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:01:27,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:01:27,340 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:01:27,367 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:27,368 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:27,369 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:27,370 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:01:27,371 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 09:01:27,573 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2018-11-23 09:01:27,573 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 09:01:27,575 INFO L168 Benchmark]: Toolchain (without parser) took 94468.13 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 131.6 MB). Free memory was 947.9 MB in the beginning and 807.5 MB in the end (delta: 140.3 MB). Peak memory consumption was 271.9 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,576 INFO L168 Benchmark]: CDTParser took 0.18 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 09:01:27,576 INFO L168 Benchmark]: CACSL2BoogieTranslator took 240.96 ms. Allocated memory is still 1.0 GB. Free memory was 947.9 MB in the beginning and 931.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,577 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.25 ms. Allocated memory is still 1.0 GB. Free memory was 931.8 MB in the beginning and 926.4 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,577 INFO L168 Benchmark]: Boogie Preprocessor took 85.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 131.6 MB). Free memory was 926.4 MB in the beginning and 1.1 GB in the end (delta: -193.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,578 INFO L168 Benchmark]: RCFGBuilder took 11176.90 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: 44.3 MB). Peak memory consumption was 44.3 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,578 INFO L168 Benchmark]: TraceAbstraction took 82942.30 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 807.5 MB in the end (delta: 267.7 MB). Peak memory consumption was 267.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:01:27,581 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.18 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 240.96 ms. Allocated memory is still 1.0 GB. Free memory was 947.9 MB in the beginning and 931.8 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 19.25 ms. Allocated memory is still 1.0 GB. Free memory was 931.8 MB in the beginning and 926.4 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 85.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 131.6 MB). Free memory was 926.4 MB in the beginning and 1.1 GB in the end (delta: -193.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 11176.90 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: 44.3 MB). Peak memory consumption was 44.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 82942.30 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 807.5 MB in the end (delta: 267.7 MB). Peak memory consumption was 267.7 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...