==10302== Memcheck, a memory error detector
==10302== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==10302== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==10302== Command: dmpovray bezier.pov -Odmpovray.png -w800 -h600 +A0.03
==10302== Parent PID: 6302
==10302== 
==10302== Thread 3:
==10302== Syscall param write(buf) points to uninitialised byte(s)
==10302==    at 0x74F54AD: ??? (syscall-template.S:81)
==10302==    by 0x7477B9E: _IO_file_write@@GLIBC_2.2.5 (fileops.c:1251)
==10302==    by 0x7479088: new_do_write (fileops.c:506)
==10302==    by 0x7479088: _IO_do_write@@GLIBC_2.2.5 (fileops.c:482)
==10302==    by 0x747741F: _IO_file_sync@@GLIBC_2.2.5 (fileops.c:862)
==10302==    by 0x746CC05: fflush (iofflush.c:41)
==10302==    by 0x467201: pov_base::IOBase::flush() (fileinputoutput.cpp:174)
==10302==    by 0x4CD742: flush (fileinputoutput.h:191)
==10302==    by 0x4CD742: pov_frontend::RenderFrontendBase::NewBackup(POVMS_Object&, pov_frontend::ViewData&, pov_base::Path const&) (renderfrontend.cpp:623)
==10302==    by 0x46206D: pov_frontend::RenderFrontend<vfe::vfeParserMessageHandler, pov_frontend::FileMessageHandler, vfe::vfeRenderMessageHandler, pov_frontend::ImageMessageHandler>::StartRender(pov_frontend::RenderFrontendBase::Id, POVMS_Object&) (renderfrontend.h:693)
==10302==    by 0x456C7B: vfe::VirtualFrontEnd::Process() (vfe.cpp:1089)
==10302==    by 0x42D4AF: vfe::vfeSession::ProcessFrontend() (vfesession.cpp:500)
==10302==    by 0x4322DA: vfe::vfeSession::WorkerThread() (vfesession.cpp:613)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302==  Address 0x4049020 is in a rw- anonymous segment
==10302== 
==10302== Thread 10:
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302==    by 0x5A056A9: start_thread (pthread_create.c:333)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E87: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E87: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302==    by 0x5A056A9: start_thread (pthread_create.c:333)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E99: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E99: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302==    by 0x5A056A9: start_thread (pthread_create.c:333)
==10302== 
==10302== Thread 9:
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E87: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E87: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E99: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E99: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302==    by 0x6741800: thread_proxy (in /usr/local/lib/libboost_thread.so.1.58.0)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E87: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E87: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E99: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E99: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302==    by 0x5875DE: pov::Task::TaskThread(boost::function0<void> const&) (task.cpp:169)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E87: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E87: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E99: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E99: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5E9218: pov::Find_Intersection(pov::Intersection*, pov::ObjectBase*, pov::Ray const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (object.cpp:185)
==10302==    by 0x5CB6F3: pov::Intersect_BBox_Tree(pov::BBoxPriorityQueue&, pov::BBox_Tree_Struct const*, pov::Ray const&, pov::Intersection*, pov::RayObjectCondition const&, pov::RayObjectCondition const&, pov::TraceThreadData*) (boundingbox.cpp:510)
==10302==    by 0x5B4525: pov::Trace::FindIntersection(pov::Intersection&, pov::Ray const&, pov::RayObjectCondition const&, pov::RayObjectCondition const&) (trace.cpp:308)
==10302==    by 0x5BA1B9: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:148)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302==    by 0x672750: pov::TraceTask::NonAdaptiveSupersamplingM1() (tracetask.cpp:518)
==10302==    by 0x673A1C: pov::TraceTask::Run() (tracetask.cpp:287)
==10302== 
==10302== Thread 11:
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5B2B50: pov::Trace::FindIntersection(pov::ObjectBase*, pov::Intersection&, pov::Ray const&, double) (trace.cpp:361)
==10302==    by 0x5B596A: pov::Trace::TracePointLightShadowRay(pov::LightSource const&, double&, pov::Ray&, pov_base::GenericColour<float>&) (trace.cpp:1939)
==10302==    by 0x5B716F: pov::Trace::TraceShadowRay(pov::LightSource const&, double, pov::Ray&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float>&) (trace.cpp:1857)
==10302==    by 0x5B79AE: pov::Trace::ComputeOneDiffuseLight(pov::LightSource const&, pov::GenericVector3d<double> const&, pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase const*, double, int) (trace.cpp:1617)
==10302==    by 0x5B7BEC: pov::Trace::ComputeDiffuseLight(pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase*, double) (trace.cpp:1442)
==10302==    by 0x5BCA6A: pov::Trace::ComputeLightedTexture(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&) (trace.cpp:971)
==10302==    by 0x5B259B: pov::Trace::ComputeOneTextureColour(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&, bool, bool) (trace.cpp:641)
==10302==    by 0x5B9BCF: pov::Trace::ComputeTextureColour(pov::Intersection&, pov_base::GenericColour<float>&, float&, pov::Ray&, float, bool) (trace.cpp:555)
==10302==    by 0x5BA42E: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:193)
==10302==    by 0x5A8C74: pov::TracePixel::operator()(double, double, double, double, pov_base::GenericRGBTColour<float>&) (tracepixel.cpp:292)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E66: spherical_bounds_check (bezier.cpp:651)
==10302==    by 0x622E66: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5B2B50: pov::Trace::FindIntersection(pov::ObjectBase*, pov::Intersection&, pov::Ray const&, double) (trace.cpp:361)
==10302==    by 0x5B596A: pov::Trace::TracePointLightShadowRay(pov::LightSource const&, double&, pov::Ray&, pov_base::GenericColour<float>&) (trace.cpp:1939)
==10302==    by 0x5B716F: pov::Trace::TraceShadowRay(pov::LightSource const&, double, pov::Ray&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float>&) (trace.cpp:1857)
==10302==    by 0x5B79AE: pov::Trace::ComputeOneDiffuseLight(pov::LightSource const&, pov::GenericVector3d<double> const&, pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase const*, double, int) (trace.cpp:1617)
==10302==    by 0x5B7BEC: pov::Trace::ComputeDiffuseLight(pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase*, double) (trace.cpp:1442)
==10302==    by 0x5BCA6A: pov::Trace::ComputeLightedTexture(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&) (trace.cpp:971)
==10302==    by 0x5B259B: pov::Trace::ComputeOneTextureColour(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&, bool, bool) (trace.cpp:641)
==10302==    by 0x5B9BCF: pov::Trace::ComputeTextureColour(pov::Intersection&, pov_base::GenericColour<float>&, float&, pov::Ray&, float, bool) (trace.cpp:555)
==10302==    by 0x5BA42E: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:193)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E87: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E87: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5B2B50: pov::Trace::FindIntersection(pov::ObjectBase*, pov::Intersection&, pov::Ray const&, double) (trace.cpp:361)
==10302==    by 0x5B596A: pov::Trace::TracePointLightShadowRay(pov::LightSource const&, double&, pov::Ray&, pov_base::GenericColour<float>&) (trace.cpp:1939)
==10302==    by 0x5B716F: pov::Trace::TraceShadowRay(pov::LightSource const&, double, pov::Ray&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float>&) (trace.cpp:1857)
==10302==    by 0x5B79AE: pov::Trace::ComputeOneDiffuseLight(pov::LightSource const&, pov::GenericVector3d<double> const&, pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase const*, double, int) (trace.cpp:1617)
==10302==    by 0x5B7BEC: pov::Trace::ComputeDiffuseLight(pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase*, double) (trace.cpp:1442)
==10302==    by 0x5BCA6A: pov::Trace::ComputeLightedTexture(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&) (trace.cpp:971)
==10302==    by 0x5B259B: pov::Trace::ComputeOneTextureColour(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&, bool, bool) (trace.cpp:641)
==10302==    by 0x5B9BCF: pov::Trace::ComputeTextureColour(pov::Intersection&, pov_base::GenericColour<float>&, float&, pov::Ray&, float, bool) (trace.cpp:555)
==10302==    by 0x5BA42E: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:193)
==10302== 
==10302== Conditional jump or move depends on uninitialised value(s)
==10302==    at 0x622E99: spherical_bounds_check (bezier.cpp:663)
==10302==    by 0x622E99: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1456)
==10302==    by 0x622F1A: pov::BicubicPatch::bezier_tree_walker(pov::BasicRay const&, pov::Bezier_Node_Struct const*, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1472)
==10302==    by 0x6239AE: pov::BicubicPatch::All_Intersections(pov::Ray const&, pov::Ref<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > >, pov::RefClearDefault<std::stack<pov::Intersection, std::vector<pov::Intersection, std::allocator<pov::Intersection> > > > >&, pov::TraceThreadData*) (bezier.cpp:1622)
==10302==    by 0x5B2B50: pov::Trace::FindIntersection(pov::ObjectBase*, pov::Intersection&, pov::Ray const&, double) (trace.cpp:361)
==10302==    by 0x5B596A: pov::Trace::TracePointLightShadowRay(pov::LightSource const&, double&, pov::Ray&, pov_base::GenericColour<float>&) (trace.cpp:1939)
==10302==    by 0x5B716F: pov::Trace::TraceShadowRay(pov::LightSource const&, double, pov::Ray&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float>&) (trace.cpp:1857)
==10302==    by 0x5B79AE: pov::Trace::ComputeOneDiffuseLight(pov::LightSource const&, pov::GenericVector3d<double> const&, pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase const*, double, int) (trace.cpp:1617)
==10302==    by 0x5B7BEC: pov::Trace::ComputeDiffuseLight(pov::Finish_Struct const*, pov::GenericVector3d<double> const&, pov::Ray const&, pov::GenericVector3d<double> const&, pov_base::GenericColour<float> const&, pov_base::GenericColour<float>&, double, pov::ObjectBase*, double) (trace.cpp:1442)
==10302==    by 0x5BCA6A: pov::Trace::ComputeLightedTexture(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&) (trace.cpp:971)
==10302==    by 0x5B259B: pov::Trace::ComputeOneTextureColour(pov_base::GenericColour<float>&, float&, pov::Texture_Struct const*, std::vector<pov::Texture_Struct const*, std::allocator<pov::Texture_Struct const*> >&, pov::GenericVector3d<double> const&, pov::GenericVector3d<double> const&, pov::Ray&, float, pov::Intersection&, bool, bool) (trace.cpp:641)
==10302==    by 0x5B9BCF: pov::Trace::ComputeTextureColour(pov::Intersection&, pov_base::GenericColour<float>&, float&, pov::Ray&, float, bool) (trace.cpp:555)
==10302==    by 0x5BA42E: pov::Trace::TraceRay(pov::Ray&, pov_base::GenericColour<float>&, float&, float, bool, double) (trace.cpp:193)
==10302== 
==10302== 
==10302== More than 10000000 total errors detected.  I'm not reporting any more.
==10302== Final error counts will be inaccurate.  Go fix your program!
==10302== Rerun with --error-limit=no to disable this cutoff.  Note
==10302== that errors may occur in your program without prior warning from
==10302== Valgrind, because errors are no longer being displayed.
==10302== 
==10302== 
==10302== HEAP SUMMARY:
==10302==     in use at exit: 2,226,018 bytes in 1,370 blocks
==10302==   total heap usage: 30,407 allocs, 29,037 frees, 118,990,731 bytes allocated
==10302== 
==10302== LEAK SUMMARY:
==10302==    definitely lost: 9,896 bytes in 75 blocks
==10302==    indirectly lost: 1,920,466 bytes in 26 blocks
==10302==      possibly lost: 608 bytes in 1 blocks
==10302==    still reachable: 295,048 bytes in 1,268 blocks
==10302==         suppressed: 0 bytes in 0 blocks
==10302== Rerun with --leak-check=full to see details of leaked memory
==10302== 
==10302== For counts of detected and suppressed errors, rerun with: -v
==10302== Use --track-origins=yes to see where uninitialised values come from
==10302== ERROR SUMMARY: 10000000 errors from 17 contexts (suppressed: 0 from 0)