4 added 316 characters in body edited Jul 21 '17 at 16:32 Mariusz Iwaniuk 7,29511 gold badge1212 silver badges3030 bronze badges About a 1 second. NIntegrate[ 1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  or: NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, PrecisionGoal -> 5, MinRecursion -> 1, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // AbsoluteTiming (*{0.687526, 2.84731}*)  About a 1 second. NIntegrate[ 1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  About a 1 second. NIntegrate[ 1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  or: NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, PrecisionGoal -> 5, MinRecursion -> 1, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // AbsoluteTiming (*{0.687526, 2.84731}*)  3 Improved formatting edited Jul 21 '17 at 16:21 m_goldberg 91.6k88 gold badges7575 silver badges209209 bronze badges About a 1 second. NIntegrate[1NIntegrate[ 1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing  (*{1.45313, 2.84718}*)  About a 1 second. NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  About a 1 second. NIntegrate[ 1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing  (*{1.45313, 2.84718}*)  2 added 2 characters in body edited Jul 21 '17 at 16:06 Mariusz Iwaniuk 7,29511 gold badge1212 silver badges3030 bronze badges About a 1 second. NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  About a 1 second. NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing {1.45313, 2.84718}  About a 1 second. NIntegrate[1/(px^2 + py^2 + 1)/((px - qx)^2 + (px - qy)^2 + 1)/(qx^2 + qy^2 + 1), {px, 0, 10}, {py, 0, 10}, {qx, 0, 10}, {qy, 0, 10}, Method -> {"LocalAdaptive", "SymbolicProcessing" -> 0}] // Timing (*{1.45313, 2.84718}*)  1 answered Jul 21 '17 at 15:58 Mariusz Iwaniuk 7,29511 gold badge1212 silver badges3030 bronze badges