./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1131a_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_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9e3ed9850bae7d066050d32134f925a24fb3772d .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9e3ed9850bae7d066050d32134f925a24fb3772d .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 13:42:56,809 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:42:56,811 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:42:56,818 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:42:56,819 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:42:56,819 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:42:56,820 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:42:56,821 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:42:56,822 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:42:56,823 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:42:56,823 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:42:56,824 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:42:56,824 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:42:56,825 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:42:56,826 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:42:56,826 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:42:56,827 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:42:56,828 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:42:56,829 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:42:56,830 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:42:56,831 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:42:56,832 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:42:56,833 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:42:56,833 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:42:56,833 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:42:56,834 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:42:56,835 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:42:56,835 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:42:56,836 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:42:56,836 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:42:56,837 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:42:56,837 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:42:56,837 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:42:56,837 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:42:56,838 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:42:56,838 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:42:56,839 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 13:42:56,848 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:42:56,848 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:42:56,849 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:42:56,849 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 13:42:56,849 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:42:56,849 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:42:56,850 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:42:56,850 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:42:56,851 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 13:42:56,851 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:42:56,851 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 13:42:56,852 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:42:56,852 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:42:56,853 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_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak 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 -> Kojak 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 -> 9e3ed9850bae7d066050d32134f925a24fb3772d [2018-11-23 13:42:56,875 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:42:56,883 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:42:56,885 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:42:56,886 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:42:56,887 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:42:56,887 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c [2018-11-23 13:42:56,930 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/d85cfe3a6/2773ef7872864216ab98dd887dfb7c11/FLAGddd60cfeb [2018-11-23 13:42:57,351 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:42:57,352 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c [2018-11-23 13:42:57,356 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/d85cfe3a6/2773ef7872864216ab98dd887dfb7c11/FLAGddd60cfeb [2018-11-23 13:42:57,364 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/d85cfe3a6/2773ef7872864216ab98dd887dfb7c11 [2018-11-23 13:42:57,367 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:42:57,368 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:42:57,369 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:42:57,369 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:42:57,372 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:42:57,373 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,375 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@44db1cb3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57, skipping insertion in model container [2018-11-23 13:42:57,375 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,382 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:42:57,400 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:42:57,537 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:42:57,541 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:42:57,569 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:42:57,626 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:42:57,626 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57 WrapperNode [2018-11-23 13:42:57,626 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:42:57,627 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:42:57,627 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:42:57,627 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:42:57,632 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,639 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,656 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:42:57,657 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:42:57,657 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:42:57,657 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:42:57,662 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,663 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,665 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,665 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,675 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,681 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,683 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... [2018-11-23 13:42:57,686 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:42:57,686 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:42:57,686 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:42:57,686 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:42:57,687 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:42:57" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 13:42:57,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 13:42:57,719 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 13:42:57,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 13:42:57,719 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:42:57,719 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:42:57,720 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:42:57,720 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 13:42:57,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 13:42:57,720 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:42:58,223 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:42:58,224 INFO L280 CfgBuilder]: Removed 24 assue(true) statements. [2018-11-23 13:42:58,224 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:42:58 BoogieIcfgContainer [2018-11-23 13:42:58,224 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:42:58,225 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 13:42:58,225 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 13:42:58,233 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 13:42:58,234 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:42:58" (1/1) ... [2018-11-23 13:42:58,241 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:42:58,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:42:58,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 44 states and 74 transitions. [2018-11-23 13:42:58,262 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 74 transitions. [2018-11-23 13:42:58,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 13:42:58,264 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:42:58,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:42:58,352 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 13:42:58,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:42:58,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 44 states and 67 transitions. [2018-11-23 13:42:58,362 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 67 transitions. [2018-11-23 13:42:58,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 13:42:58,362 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:42:58,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:42:58,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:42:58,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:42:58,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:42:58,561 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_fmod~0 := 1.0;call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8);havoc main_#res;havoc main_#t~nondet18, main_#t~ret19, main_#t~ret20, main_~res~0, main_~y~0, main_~x~0;main_~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);main_~x~0 := main_#t~nondet18;havoc main_#t~nondet18;isfinite_double_#in~x := main_~x~0;havoc isfinite_double_#res;havoc isfinite_double_#t~mem16, isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, isfinite_double_~x, isfinite_double_~hx~1;isfinite_double_~x := isfinite_double_#in~x;havoc isfinite_double_~hx~1; VAL [ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset := #Ultimate.alloc(8);call write~real(isfinite_double_~x, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8);call isfinite_double_#t~mem16 := read~int(isfinite_double_~#gh_u~0.base, 4 + isfinite_double_~#gh_u~0.offset, 4);isfinite_double_~hx~1 := (if isfinite_double_#t~mem16 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem16 % 4294967296 % 4294967296 else isfinite_double_#t~mem16 % 4294967296 % 4294967296 - 4294967296);call write~real(isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8);havoc isfinite_double_#t~mem16;havoc isfinite_double_#t~union17;call ULTIMATE.dealloc(isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset);havoc isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset; VAL [ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296);main_#t~ret19 := isfinite_double_#res;assume -2147483648 <= main_#t~ret19 && main_#t~ret19 <= 2147483647; VAL [ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |ULTIMATE.start_main_#t~ret19|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 != main_#t~ret19;havoc main_#t~ret19;fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0;havoc fmod_double_#res;havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0;fmod_double_~x := fmod_double_#in~x;fmod_double_~y := fmod_double_#in~y;havoc fmod_double_~n~0;havoc fmod_double_~hx~0;havoc fmod_double_~hy~0;havoc fmod_double_~hz~0;havoc fmod_double_~ix~0;havoc fmod_double_~iy~0;havoc fmod_double_~sx~0;havoc fmod_double_~i~0;havoc fmod_double_~lx~0;havoc fmod_double_~ly~0;havoc fmod_double_~lz~0; VAL [ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4);fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~union1;havoc fmod_double_#t~mem0;call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4);fmod_double_~lx~0 := fmod_double_#t~mem2;call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~mem2;havoc fmod_double_#t~union3;call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset);havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=8404, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=8404, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4);fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~mem4;havoc fmod_double_#t~union5;call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4);fmod_double_~ly~0 := fmod_double_#t~mem6;call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~mem6;havoc fmod_double_#t~union7;call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset);havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=8404, ULTIMATE.start_fmod_double_~hy~0=8404, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=8404, ULTIMATE.start_fmod_double_~hy~0=8404, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0);fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~sx~0=4335, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072;fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~sx~0=4335, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret20 := fmod_double_#res;main_~res~0 := main_#t~ret20;havoc main_#t~ret20; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~sx~0=4335, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~res~0=10.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_fmod_double_#res|=10.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, main_~x~0); VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~sx~0=4335, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~res~0=10.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_fmod_double_#res|=10.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=9, ULTIMATE.start_fmod_double_~ly~0=11, ULTIMATE.start_fmod_double_~sx~0=4335, ULTIMATE.start_fmod_double_~x=2.0, ULTIMATE.start_fmod_double_~y=9.0, ULTIMATE.start_isfinite_double_~hx~1=8404, ULTIMATE.start_isfinite_double_~x=2.0, ULTIMATE.start_main_~res~0=10.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=9.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=2.0, |ULTIMATE.start_fmod_double_#in~y|=9.0, |ULTIMATE.start_fmod_double_#res|=10.0, |ULTIMATE.start_isfinite_double_#in~x|=2.0, |ULTIMATE.start_isfinite_double_#res|=(- 2147483648), |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet18, main_#t~ret19, main_#t~ret20, main_~res~0, main_~y~0, main_~x~0; [L180] main_~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] main_~x~0 := main_#t~nondet18; [L181] havoc main_#t~nondet18; [L183] isfinite_double_#in~x := main_~x~0; [L183] havoc isfinite_double_#res; [L183] havoc isfinite_double_#t~mem16, isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, isfinite_double_~x, isfinite_double_~hx~1; [L163-L171] isfinite_double_~x := isfinite_double_#in~x; [L164] havoc isfinite_double_~hx~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L166] call isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset := #Ultimate.alloc(8); [L167] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8); [L168] call isfinite_double_#t~mem16 := read~int(isfinite_double_~#gh_u~0.base, 4 + isfinite_double_~#gh_u~0.offset, 4); [L168] isfinite_double_~hx~1 := (if isfinite_double_#t~mem16 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem16 % 4294967296 % 4294967296 else isfinite_double_#t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] call write~real(isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8); [L168] havoc isfinite_double_#t~mem16; [L168] havoc isfinite_double_#t~union17; [L166] call ULTIMATE.dealloc(isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset); [L166] havoc isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L170] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] main_#t~ret19 := isfinite_double_#res; [L183] assume -2147483648 <= main_#t~ret19 && main_#t~ret19 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_#t~ret19=-2147483648, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L183-L192] assume 0 != main_#t~ret19; [L183] havoc main_#t~ret19; [L185] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L185] havoc fmod_double_#res; [L185] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~lx~0=9, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~hy~0=8404, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L185] main_#t~ret20 := fmod_double_#res; [L185] main_~res~0 := main_#t~ret20; [L185] havoc main_#t~ret20; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L188-L191] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet18, main_#t~ret19, main_#t~ret20, main_~res~0, main_~y~0, main_~x~0; [L180] main_~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] main_~x~0 := main_#t~nondet18; [L181] havoc main_#t~nondet18; [L183] isfinite_double_#in~x := main_~x~0; [L183] havoc isfinite_double_#res; [L183] havoc isfinite_double_#t~mem16, isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, isfinite_double_~x, isfinite_double_~hx~1; [L163-L171] isfinite_double_~x := isfinite_double_#in~x; [L164] havoc isfinite_double_~hx~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L166] call isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset := #Ultimate.alloc(8); [L167] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8); [L168] call isfinite_double_#t~mem16 := read~int(isfinite_double_~#gh_u~0.base, 4 + isfinite_double_~#gh_u~0.offset, 4); [L168] isfinite_double_~hx~1 := (if isfinite_double_#t~mem16 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem16 % 4294967296 % 4294967296 else isfinite_double_#t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] call write~real(isfinite_double_#t~union17, isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset, 8); [L168] havoc isfinite_double_#t~mem16; [L168] havoc isfinite_double_#t~union17; [L166] call ULTIMATE.dealloc(isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset); [L166] havoc isfinite_double_~#gh_u~0.base, isfinite_double_~#gh_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L170] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] main_#t~ret19 := isfinite_double_#res; [L183] assume -2147483648 <= main_#t~ret19 && main_#t~ret19 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_#t~ret19=-2147483648, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L183-L192] assume 0 != main_#t~ret19; [L183] havoc main_#t~ret19; [L185] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L185] havoc fmod_double_#res; [L185] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~lx~0=9, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~hy~0=8404, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L185] main_#t~ret20 := fmod_double_#res; [L185] main_~res~0 := main_#t~ret20; [L185] havoc main_#t~ret20; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L188-L191] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet18, main_#t~ret19, main_#t~ret20, main_~res~0, main_~y~0, main_~x~0; [L180] main_~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] main_~x~0 := main_#t~nondet18; [L181] havoc main_#t~nondet18; [L183] isfinite_double_#in~x := main_~x~0; [L183] havoc isfinite_double_#res; [L183] havoc isfinite_double_#t~mem16, isfinite_double_#t~union17, isfinite_double_~#gh_u~0, isfinite_double_~x, isfinite_double_~hx~1; [L163-L171] isfinite_double_~x := isfinite_double_#in~x; [L164] havoc isfinite_double_~hx~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L166] FCALL call isfinite_double_~#gh_u~0 := #Ultimate.alloc(8); [L167] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~0!base, offset: isfinite_double_~#gh_u~0!offset }, 8); [L168] FCALL call isfinite_double_#t~mem16 := read~int({ base: isfinite_double_~#gh_u~0!base, offset: 4 + isfinite_double_~#gh_u~0!offset }, 4); [L168] isfinite_double_~hx~1 := (if isfinite_double_#t~mem16 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem16 % 4294967296 % 4294967296 else isfinite_double_#t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] FCALL call write~real(isfinite_double_#t~union17, { base: isfinite_double_~#gh_u~0!base, offset: isfinite_double_~#gh_u~0!offset }, 8); [L168] havoc isfinite_double_#t~mem16; [L168] havoc isfinite_double_#t~union17; [L166] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~0); [L166] havoc isfinite_double_~#gh_u~0; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L170] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] main_#t~ret19 := isfinite_double_#res; [L183] assume -2147483648 <= main_#t~ret19 && main_#t~ret19 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_#t~ret19=-2147483648, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L183-L192] COND TRUE 0 != main_#t~ret19 [L183] havoc main_#t~ret19; [L185] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L185] havoc fmod_double_#res; [L185] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~lx~0=9, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~hy~0=8404, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L185] main_#t~ret20 := fmod_double_#res; [L185] main_~res~0 := main_#t~ret20; [L185] havoc main_#t~ret20; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L188] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet18, main_#t~ret19, main_#t~ret20, main_~res~0, main_~y~0, main_~x~0; [L180] main_~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] main_~x~0 := main_#t~nondet18; [L181] havoc main_#t~nondet18; [L183] isfinite_double_#in~x := main_~x~0; [L183] havoc isfinite_double_#res; [L183] havoc isfinite_double_#t~mem16, isfinite_double_#t~union17, isfinite_double_~#gh_u~0, isfinite_double_~x, isfinite_double_~hx~1; [L163-L171] isfinite_double_~x := isfinite_double_#in~x; [L164] havoc isfinite_double_~hx~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L166] FCALL call isfinite_double_~#gh_u~0 := #Ultimate.alloc(8); [L167] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~0!base, offset: isfinite_double_~#gh_u~0!offset }, 8); [L168] FCALL call isfinite_double_#t~mem16 := read~int({ base: isfinite_double_~#gh_u~0!base, offset: 4 + isfinite_double_~#gh_u~0!offset }, 4); [L168] isfinite_double_~hx~1 := (if isfinite_double_#t~mem16 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem16 % 4294967296 % 4294967296 else isfinite_double_#t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] FCALL call write~real(isfinite_double_#t~union17, { base: isfinite_double_~#gh_u~0!base, offset: isfinite_double_~#gh_u~0!offset }, 8); [L168] havoc isfinite_double_#t~mem16; [L168] havoc isfinite_double_#t~union17; [L166] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~0); [L166] havoc isfinite_double_~#gh_u~0; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L170] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] main_#t~ret19 := isfinite_double_#res; [L183] assume -2147483648 <= main_#t~ret19 && main_#t~ret19 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_#t~ret19=-2147483648, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L183-L192] COND TRUE 0 != main_#t~ret19 [L183] havoc main_#t~ret19; [L185] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L185] havoc fmod_double_#res; [L185] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~lx~0=9, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=8404, fmod_double_~hy~0=8404, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L185] main_#t~ret20 := fmod_double_#res; [L185] main_~res~0 := main_#t~ret20; [L185] havoc main_#t~ret20; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L188] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=2.0, fmod_double_#in~y=9.0, fmod_double_#res=10.0, fmod_double_~hx~0=0, fmod_double_~lx~0=9, fmod_double_~ly~0=11, fmod_double_~sx~0=4335, fmod_double_~x=2.0, fmod_double_~y=9.0, isfinite_double_#in~x=2.0, isfinite_double_#res=-2147483648, isfinite_double_~hx~1=8404, isfinite_double_~x=2.0, main_~res~0=10.0, main_~x~0=2.0, main_~y~0=9.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L180] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] ~x~0 := #t~nondet18; [L181] havoc #t~nondet18; [L163-L171] ~x := #in~x; [L164] havoc ~hx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L166] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L167] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L168] FCALL call #t~mem16 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L168] ~hx~1 := (if #t~mem16 % 4294967296 % 4294967296 <= 2147483647 then #t~mem16 % 4294967296 % 4294967296 else #t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] FCALL call write~real(#t~union17, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L168] havoc #t~mem16; [L168] havoc #t~union17; [L166] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L166] havoc ~#gh_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L170] #res := (if (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L183-L192] COND TRUE 0 != #t~ret19 [L183] havoc #t~ret19; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L185] ~res~0 := #t~ret20; [L185] havoc #t~ret20; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L188] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L180] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L181] ~x~0 := #t~nondet18; [L181] havoc #t~nondet18; [L163-L171] ~x := #in~x; [L164] havoc ~hx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L166] FCALL call ~#gh_u~0 := #Ultimate.alloc(8); [L167] FCALL call write~real(~x, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L168] FCALL call #t~mem16 := read~int({ base: ~#gh_u~0!base, offset: 4 + ~#gh_u~0!offset }, 4); [L168] ~hx~1 := (if #t~mem16 % 4294967296 % 4294967296 <= 2147483647 then #t~mem16 % 4294967296 % 4294967296 else #t~mem16 % 4294967296 % 4294967296 - 4294967296); [L168] FCALL call write~real(#t~union17, { base: ~#gh_u~0!base, offset: ~#gh_u~0!offset }, 8); [L168] havoc #t~mem16; [L168] havoc #t~union17; [L166] FCALL call ULTIMATE.dealloc(~#gh_u~0); [L166] havoc ~#gh_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L170] #res := (if (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~1, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L183] assume -2147483648 <= #t~ret19 && #t~ret19 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L183-L192] COND TRUE 0 != #t~ret19 [L183] havoc #t~ret19; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L185] ~res~0 := #t~ret20; [L185] havoc #t~ret20; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L188] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L189] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L180] double y = 1.0 / 0.0; [L181] double x = __VERIFIER_nondet_double(); [L164] __int32_t hx; VAL [one_fmod=1, Zero_fmod={2:0}] [L166] ieee_double_shape_type gh_u; [L167] gh_u.value = (x) [L168] EXPR gh_u.parts.msw [L168] (hx) = gh_u.parts.msw [L170] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L183] COND TRUE isfinite_double(x) [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L185] double res = fmod_double(x, y); [L188] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L189] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 13:42:58,622 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 01:42:58 ImpRootNode [2018-11-23 13:42:58,623 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 13:42:58,623 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 13:42:58,623 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 13:42:58,623 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 13:42:58,624 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:42:58" (3/4) ... [2018-11-23 13:42:58,628 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 13:42:58,628 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 13:42:58,629 INFO L168 Benchmark]: Toolchain (without parser) took 1261.75 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.1 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -69.6 MB). Peak memory consumption was 72.5 MB. Max. memory is 11.5 GB. [2018-11-23 13:42:58,630 INFO L168 Benchmark]: CDTParser took 0.10 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 13:42:58,631 INFO L168 Benchmark]: CACSL2BoogieTranslator took 257.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.1 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -180.5 MB). Peak memory consumption was 31.5 MB. Max. memory is 11.5 GB. [2018-11-23 13:42:58,631 INFO L168 Benchmark]: Boogie Procedure Inliner took 29.61 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-23 13:42:58,632 INFO L168 Benchmark]: Boogie Preprocessor took 29.21 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 13:42:58,632 INFO L168 Benchmark]: RCFGBuilder took 538.21 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: 60.1 MB). Peak memory consumption was 60.1 MB. Max. memory is 11.5 GB. [2018-11-23 13:42:58,633 INFO L168 Benchmark]: CodeCheck took 398.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 44.0 MB). Peak memory consumption was 44.0 MB. Max. memory is 11.5 GB. [2018-11-23 13:42:58,639 INFO L168 Benchmark]: Witness Printer took 5.46 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 13:42:58,642 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 60 locations, 1 error locations. UNSAFE Result, 0.3s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 22 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 82 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 25 NumberOfCodeBlocks, 25 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 10 ConstructedInterpolants, 0 QuantifiedInterpolants, 100 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 189]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 44, overapproximation of someUnaryDOUBLEoperation at line 20, overapproximation of someBinaryArithmeticDOUBLEoperation at line 45, overapproximation of bitwiseAnd at line 39, overapproximation of someBinaryDOUBLEComparisonOperation at line 188, overapproximation of bitwiseXor at line 40. Possible FailurePath: [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L180] double y = 1.0 / 0.0; [L181] double x = __VERIFIER_nondet_double(); [L164] __int32_t hx; VAL [one_fmod=1, Zero_fmod={2:0}] [L166] ieee_double_shape_type gh_u; [L167] gh_u.value = (x) [L168] EXPR gh_u.parts.msw [L168] (hx) = gh_u.parts.msw [L170] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L183] COND TRUE isfinite_double(x) [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L185] double res = fmod_double(x, y); [L188] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L189] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10 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 257.91 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.1 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -180.5 MB). Peak memory consumption was 31.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 29.61 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 29.21 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 538.21 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: 60.1 MB). Peak memory consumption was 60.1 MB. Max. memory is 11.5 GB. * CodeCheck took 398.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 44.0 MB). Peak memory consumption was 44.0 MB. Max. memory is 11.5 GB. * Witness Printer took 5.46 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. 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 13:43:00,090 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:43:00,092 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:43:00,100 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:43:00,101 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:43:00,101 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:43:00,102 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:43:00,103 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:43:00,104 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:43:00,105 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:43:00,106 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:43:00,106 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:43:00,106 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:43:00,107 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:43:00,108 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:43:00,108 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:43:00,109 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:43:00,110 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:43:00,111 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:43:00,112 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:43:00,113 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:43:00,114 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:43:00,115 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:43:00,115 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:43:00,116 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:43:00,116 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:43:00,117 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:43:00,117 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:43:00,118 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:43:00,119 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:43:00,119 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:43:00,119 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:43:00,119 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:43:00,120 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:43:00,120 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:43:00,121 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:43:00,121 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 13:43:00,131 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:43:00,131 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:43:00,132 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:43:00,132 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 13:43:00,133 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:43:00,133 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:43:00,133 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:43:00,133 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:43:00,133 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:43:00,133 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:43:00,133 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:43:00,134 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:43:00,135 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 13:43:00,135 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 13:43:00,135 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:43:00,135 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:43:00,135 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 13:43:00,135 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:43:00,135 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:43:00,135 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:43:00,136 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 13:43:00,136 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 13:43:00,136 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:43:00,136 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 13:43:00,136 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 13:43:00,136 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_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak 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 -> Kojak 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 -> 9e3ed9850bae7d066050d32134f925a24fb3772d [2018-11-23 13:43:00,166 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:43:00,175 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:43:00,177 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:43:00,178 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:43:00,179 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:43:00,179 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c [2018-11-23 13:43:00,224 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/c366561df/0ce7147225384b27b087c8d27e4a3580/FLAG4009dfa0b [2018-11-23 13:43:00,571 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:43:00,572 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/sv-benchmarks/c/float-newlib/double_req_bl_1131a_true-unreach-call.c [2018-11-23 13:43:00,576 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/c366561df/0ce7147225384b27b087c8d27e4a3580/FLAG4009dfa0b [2018-11-23 13:43:00,585 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/data/c366561df/0ce7147225384b27b087c8d27e4a3580 [2018-11-23 13:43:00,587 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:43:00,588 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:43:00,589 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:43:00,589 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:43:00,592 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:43:00,593 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,595 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@70106205 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00, skipping insertion in model container [2018-11-23 13:43:00,595 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,601 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:43:00,624 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:43:00,773 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:43:00,778 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:43:00,817 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:43:00,836 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:43:00,836 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00 WrapperNode [2018-11-23 13:43:00,836 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:43:00,837 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:43:00,837 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:43:00,837 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:43:00,842 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,891 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,910 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:43:00,910 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:43:00,910 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:43:00,910 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:43:00,916 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,916 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,919 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,919 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,930 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,936 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,938 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... [2018-11-23 13:43:00,942 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:43:00,942 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:43:00,942 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:43:00,942 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:43:00,943 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:43:00" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 13:43:00,981 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 13:43:00,981 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 13:43:00,981 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 13:43:00,981 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:43:00,982 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 13:43:00,982 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:43:00,982 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:43:00,982 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 13:43:00,982 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:43:01,100 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 13:43:01,118 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 13:43:01,537 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 13:43:01,556 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 13:43:05,541 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:43:05,542 INFO L280 CfgBuilder]: Removed 24 assue(true) statements. [2018-11-23 13:43:05,542 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:43:05 BoogieIcfgContainer [2018-11-23 13:43:05,542 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:43:05,543 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 13:43:05,543 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 13:43:05,551 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 13:43:05,551 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:43:05" (1/1) ... [2018-11-23 13:43:05,560 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:43:05,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:43:05,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 44 states and 74 transitions. [2018-11-23 13:43:05,582 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 74 transitions. [2018-11-23 13:43:05,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 13:43:05,584 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:43:05,624 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 13:43:05,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:43:05,658 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:43:05,670 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 13:43:05,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:43:05,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 44 states and 67 transitions. [2018-11-23 13:43:05,679 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 67 transitions. [2018-11-23 13:43:05,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 13:43:05,680 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:43:05,681 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 13:43:06,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:43:06,471 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:43:06,542 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:06,543 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:06,549 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 13:43:06,590 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:06,596 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 13:43:06,596 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:06,609 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 13:43:06,616 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 13:43:06,616 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:06,620 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:43:06,623 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 13:43:06,633 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 13:43:06,633 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:50, output treesize:22 [2018-11-23 13:43:12,616 WARN L180 SmtUtils]: Spent 2.75 s on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 13:43:12,627 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:12,628 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:12,629 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 13:43:12,686 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:43:12,687 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:12,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 33 [2018-11-23 13:43:12,689 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:12,713 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 13:43:12,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:43:12,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-23 13:43:12,722 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:12,737 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:43:12,743 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 13:43:12,784 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 13:43:12,785 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 6 variables, input treesize:81, output treesize:53 [2018-11-23 13:43:15,571 WARN L180 SmtUtils]: Spent 2.72 s on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 13:43:22,098 WARN L180 SmtUtils]: Spent 3.01 s on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 13:43:22,107 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 13:43:28,626 WARN L180 SmtUtils]: Spent 2.73 s on a formula simplification that was a NOOP. DAG size: 35 [2018-11-23 13:43:31,402 WARN L180 SmtUtils]: Spent 2.65 s on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 13:43:36,220 WARN L180 SmtUtils]: Spent 1.25 s on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 13:43:42,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:43:42,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 44 states and 66 transitions. [2018-11-23 13:43:42,944 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 66 transitions. [2018-11-23 13:43:42,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 13:43:42,945 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:43:42,945 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 13:43:42,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:43:42,987 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:43:43,085 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:43,085 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 25 treesize of output 41 [2018-11-23 13:43:43,096 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:43:43,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 0 select indices, 0 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 38 treesize of output 29 [2018-11-23 13:43:43,106 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 16 treesize of output 17 [2018-11-23 13:43:43,106 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:43,129 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:43:43,154 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 13:43:43,161 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 13:43:43,161 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 13:43:43,162 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:43:43,166 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 13:43:43,188 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 13:43:43,189 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:42, output treesize:22 [2018-11-23 13:43:43,945 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 13:44:07,422 WARN L180 SmtUtils]: Spent 3.43 s on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 13:44:15,248 WARN L180 SmtUtils]: Spent 3.20 s on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 13:44:18,875 WARN L180 SmtUtils]: Spent 3.29 s on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 13:44:22,638 WARN L180 SmtUtils]: Spent 3.21 s on a formula simplification that was a NOOP. DAG size: 65 [2018-11-23 13:44:55,756 WARN L180 SmtUtils]: Spent 196.00 ms on a formula simplification that was a NOOP. DAG size: 71 [2018-11-23 13:45:13,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:45:13,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 46 states and 72 transitions. [2018-11-23 13:45:13,277 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 72 transitions. [2018-11-23 13:45:13,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 13:45:13,277 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 13:45:13,278 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 13:45:13,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:45:13,303 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:45:16,867 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 13:45:21,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 13:45:21,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 18 transitions. [2018-11-23 13:45:21,470 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 18 transitions. [2018-11-23 13:45:21,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:45:21,471 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 5 iterations. [2018-11-23 13:45:21,476 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 13:45:21,930 INFO L579 CodeCheckObserver]: Invariant with dag size 22 [2018-11-23 13:45:21,932 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,933 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] [2018-11-23 13:45:21,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,938 INFO L579 CodeCheckObserver]: Invariant with dag size 20 [2018-11-23 13:45:21,939 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,939 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,939 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,939 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,940 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,940 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,940 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,941 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,941 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,941 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,941 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,941 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,942 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 13:45:21,942 INFO L579 CodeCheckObserver]: Invariant with dag size 11 [2018-11-23 13:45:21,942 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,942 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,942 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,943 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,943 INFO L579 CodeCheckObserver]: Invariant with dag size 29 [2018-11-23 13:45:21,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,944 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,944 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:21,945 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,946 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:21,946 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 01:45:21 ImpRootNode [2018-11-23 13:45:21,946 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 13:45:21,947 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 13:45:21,947 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 13:45:21,947 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 13:45:21,947 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:43:05" (3/4) ... [2018-11-23 13:45:21,950 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 13:45:21,959 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 10 nodes and edges [2018-11-23 13:45:21,959 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 6 nodes and edges [2018-11-23 13:45:21,977 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: y == ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) && (\exists v_q#valueAsBitvector_7 : bv64 :: ~fp~LONGDOUBLE(v_q#valueAsBitvector_7[63:63], v_q#valueAsBitvector_7[62:52], v_q#valueAsBitvector_7[51:0]) == x && v_q#valueAsBitvector_7[63:32] == hx) [2018-11-23 13:45:21,977 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((\exists v_q#valueAsBitvector_7 : bv64 :: !(0bv32 == ~bvlshr32(~bvadd64(~bvand32(2147483647bv32, v_q#valueAsBitvector_7[63:32]), 2148532224bv32), 31bv32)) && ~fp~LONGDOUBLE(v_q#valueAsBitvector_7[63:63], v_q#valueAsBitvector_7[62:52], v_q#valueAsBitvector_7[51:0]) == x) && ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) == y) && x == x [2018-11-23 13:45:21,990 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_ff8b30f0-8489-41c0-87ec-f50571c13fbd/bin-2019/ukojak/witness.graphml [2018-11-23 13:45:21,990 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 13:45:21,991 INFO L168 Benchmark]: Toolchain (without parser) took 141402.83 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 196.1 MB). Free memory was 948.7 MB in the beginning and 897.5 MB in the end (delta: 51.1 MB). Peak memory consumption was 247.2 MB. Max. memory is 11.5 GB. [2018-11-23 13:45:21,991 INFO L168 Benchmark]: CDTParser took 0.16 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 13:45:21,991 INFO L168 Benchmark]: CACSL2BoogieTranslator took 247.45 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 932.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 13:45:21,991 INFO L168 Benchmark]: Boogie Procedure Inliner took 73.07 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 129.0 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -189.3 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. [2018-11-23 13:45:21,992 INFO L168 Benchmark]: Boogie Preprocessor took 31.79 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 13:45:21,992 INFO L168 Benchmark]: RCFGBuilder took 4600.18 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: 54.8 MB). Peak memory consumption was 54.8 MB. Max. memory is 11.5 GB. [2018-11-23 13:45:21,993 INFO L168 Benchmark]: CodeCheck took 136403.76 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 67.1 MB). Free memory was 1.1 GB in the beginning and 897.5 MB in the end (delta: 164.2 MB). Peak memory consumption was 231.3 MB. Max. memory is 11.5 GB. [2018-11-23 13:45:21,994 INFO L168 Benchmark]: Witness Printer took 43.58 ms. Allocated memory is still 1.2 GB. Free memory is still 897.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 13:45:21,995 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 60 locations, 1 error locations. SAFE Result, 135.9s OverallTime, 5 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 250 SDtfs, 96 SDslu, 88 SDs, 0 SdLazy, 472 SolverSat, 120 SolverUnsat, 4 SolverUnknown, 0 SolverNotchecked, 47.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 500 GetRequests, 442 SyntacticMatches, 4 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 621 ImplicationChecksByTransitivity, 110.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.8s SatisfiabilityAnalysisTime, 20.1s InterpolantComputationTime, 58 NumberOfCodeBlocks, 58 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 54 ConstructedInterpolants, 23 QuantifiedInterpolants, 11607 SizeOfPredicates, 29 NumberOfNonLiveVariables, 266 ConjunctsInSsa, 46 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 189]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 23]: Loop Invariant [2018-11-23 13:45:21,997 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,997 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,998 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] [2018-11-23 13:45:21,999 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] Derived loop invariant: x == \result && (\exists v_q#valueAsBitvector_9 : bv64, v_prenex_17 : bv64 :: (!~bvsge32(~bvxor32(v_q#valueAsBitvector_9[63:32], ~bvand32(2147483648bv32, v_q#valueAsBitvector_9[63:32])), 2146435072bv32) && v_q#valueAsBitvector_9[63:32] == v_prenex_17[63:32]) && ~fp~LONGDOUBLE(v_q#valueAsBitvector_9[63:63], v_q#valueAsBitvector_9[62:52], v_q#valueAsBitvector_9[51:0]) == \result) - InvariantResult [Line: 165]: Loop Invariant [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,000 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] Derived loop invariant: y == ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) && (\exists v_q#valueAsBitvector_7 : bv64 :: ~fp~LONGDOUBLE(v_q#valueAsBitvector_7[63:63], v_q#valueAsBitvector_7[62:52], v_q#valueAsBitvector_7[51:0]) == x && v_q#valueAsBitvector_7[63:32] == hx) - InvariantResult [Line: 173]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 165]: Loop Invariant [2018-11-23 13:45:22,001 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: x == x && y == ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) - InvariantResult [Line: 27]: Loop Invariant [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,002 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,003 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] [2018-11-23 13:45:22,004 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 13:45:22,004 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: ((\exists v_q#valueAsBitvector_7 : bv64 :: !(0bv32 == ~bvlshr32(~bvadd64(~bvand32(2147483647bv32, v_q#valueAsBitvector_7[63:32]), 2148532224bv32), 31bv32)) && ~fp~LONGDOUBLE(v_q#valueAsBitvector_7[63:63], v_q#valueAsBitvector_7[62:52], v_q#valueAsBitvector_7[51:0]) == x) && ~fp.div~DOUBLE(~roundNearestTiesToEven, ~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0), ~Pluszero~LONGDOUBLE()) == y) && x == x * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 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 247.45 ms. Allocated memory is still 1.0 GB. Free memory was 948.7 MB in the beginning and 932.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 73.07 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 129.0 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -189.3 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 31.79 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 4600.18 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: 54.8 MB). Peak memory consumption was 54.8 MB. Max. memory is 11.5 GB. * CodeCheck took 136403.76 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 67.1 MB). Free memory was 1.1 GB in the beginning and 897.5 MB in the end (delta: 164.2 MB). Peak memory consumption was 231.3 MB. Max. memory is 11.5 GB. * Witness Printer took 43.58 ms. Allocated memory is still 1.2 GB. Free memory is still 897.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_9,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_q#valueAsBitvector_7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven RESULT: Ultimate proved your program to be correct! Received shutdown request...