Herbie run

Date:Thursday, February 20th, 2025
Commit:87019920 on main
Seed:2025051
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:175 307.3 MB

Time bar (total: 2.9min)

sample1.9min (63.2%)

Memory
1 332.5MiB live, 106 471.3MiB allocated; 34.9s collecting garbage
Samples
28.5s43 636×2valid
20.0s96 958×1valid
18.3s146 063×0invalid
16.8s7 024×5exit
6.9s87 320×0valid
2.5s3 249×3valid
368.0ms4 348×0exit
6.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-pow: 15.9s (20.2% of total)
ival-tan: 12.3s (15.6% of total)
adjust: 9.0s (11.5% of total)
ival-mult: 5.8s (7.4% of total)
ival-cos: 4.2s (5.4% of total)
ival-sub: 3.9s (4.9% of total)
ival-div: 3.7s (4.7% of total)
ival-log: 3.7s (4.7% of total)
ival-sin: 3.4s (4.3% of total)
ival-add: 3.3s (4.2% of total)
const: 2.6s (3.3% of total)
ival-expm1: 2.1s (2.7% of total)
ival-exp: 2.1s (2.7% of total)
ival-log1p: 1.4s (1.8% of total)
ival-fabs: 1.4s (1.7% of total)
ival-sqrt: 1.2s (1.6% of total)
ival-<: 483.0ms (0.6% of total)
ival-<=: 405.0ms (0.5% of total)
ival-atan: 391.0ms (0.5% of total)
ival-and: 383.0ms (0.5% of total)
ival-neg: 262.0ms (0.3% of total)
ival-cbrt: 244.0ms (0.3% of total)
exact: 165.0ms (0.2% of total)
ival-assert: 137.0ms (0.2% of total)
ival-fmin: 109.0ms (0.1% of total)
ival->: 1.0ms (0% of total)
Bogosity

rewrite21.4s (12.1%)

Memory
651.3MiB live, 20 381.3MiB allocated; 5.6s collecting garbage
Stop Event
255×iter limit
106×node limit
Counts
15 691 → 34 044

preprocess7.6s (4.3%)

Memory
7.0MiB live, 7 266.9MiB allocated; 2.0s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Compiler

Compiled 28 390 to 5 875 computations (79.3% saved)

eval6.8s (3.8%)

Memory
-44.0MiB live, 8 699.1MiB allocated; 2.2s collecting garbage
Compiler

Compiled 1 907 081 to 183 554 computations (90.4% saved)

derivations6.3s (3.6%)

Memory
55.1MiB live, 5 061.7MiB allocated; 730ms collecting garbage
Stop Event
22×fuel
done
Compiler

Compiled 13 023 to 2 242 computations (82.8% saved)

explain5.7s (3.2%)

Memory
-131.6MiB live, 6 653.0MiB allocated; 1.0s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation414621
log.f64#fsensitivity7630
sqrt.f64#foflow-rescue4280
/.f64#fu/u4180
+.f64#fcancellation3150
/.f64#fu/n1070
pow.f64#fsensitivity710
/.f64(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))))n/u290
(*.f64 b eps)underflow139
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow140
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow139
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow228
(*.f64 a eps)underflow140
-.f64#fnan-rescue240
sqrt.f64#fuflow-rescue220
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow68
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o20
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow2
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow2
(exp.f64 x)overflow2
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow2
cos.f64(cos.f64 (+.f64 x eps))sensitivity10
sin.f64(sin.f64 (+.f64 x eps))sensitivity10
tan.f64(tan.f64 (+.f64 x eps))sensitivity10
Confusion
Predicted +Predicted -
+517913
-1471829
Precision
0.9723995493803981
Recall
0.9974961479198767
Confusion?
Predicted +Predicted MaybePredicted -
+5179121
-147101819
Precision?
0.9706432311144353
Recall?
0.9998073959938367
Freqs
test
numberfreq
01842
14535
2630
3107
454
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.7s2 750×2valid
1.2s6 054×1valid
409.0ms5 330×0valid
159.0ms202×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.7s
ival-tan: 627.0ms (22.8% of total)
adjust: 398.0ms (14.5% of total)
ival-sin: 199.0ms (7.2% of total)
ival-log: 178.0ms (6.5% of total)
ival-div: 176.0ms (6.4% of total)
ival-pow: 173.0ms (6.3% of total)
ival-cos: 171.0ms (6.2% of total)
ival-exp: 162.0ms (5.9% of total)
ival-sub: 148.0ms (5.4% of total)
ival-log1p: 131.0ms (4.8% of total)
ival-add: 126.0ms (4.6% of total)
ival-mult: 96.0ms (3.5% of total)
ival-sqrt: 61.0ms (2.2% of total)
ival-expm1: 23.0ms (0.8% of total)
ival-atan: 19.0ms (0.7% of total)
ival-cbrt: 17.0ms (0.6% of total)
ival-true: 13.0ms (0.5% of total)
ival-neg: 12.0ms (0.4% of total)
exact: 9.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

regimes5.6s (3.2%)

Memory
-19.3MiB live, 6 692.1MiB allocated; 2.0s collecting garbage
Counts
5 199 → 346
Calls

43 calls:

1.4s
x
855.0ms
eps
670.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
524.0ms
b
244.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 2 216 to 2 144 computations (3.2% saved)

series3.9s (2.2%)

Memory
333.0MiB live, 5 108.3MiB allocated; 835ms collecting garbage
Counts
2 721 → 12 970
Calls

498 calls:

TimeVariablePointExpression
121.0ms
x
@inf
((- (sqrt (+ x 1)) (sqrt x)) (/ (+ (+ (* (pow x -5/2) -5/128) (+ (* (pow x -3/2) 1/16) (* 1/2 (sqrt x)))) (/ -1/8 (sqrt x))) x) (+ (+ (* (pow x -5/2) -5/128) (+ (* (pow x -3/2) 1/16) (* 1/2 (sqrt x)))) (/ -1/8 (sqrt x))) (+ (* (pow x -5/2) -5/128) (+ (* (pow x -3/2) 1/16) (* 1/2 (sqrt x)))) (pow x -5/2) x -5/2 -5/128 (+ (* (pow x -3/2) 1/16) (* 1/2 (sqrt x))) (pow x -3/2) -3/2 1/16 (* 1/2 (sqrt x)) 1/2 (sqrt x) (/ -1/8 (sqrt x)) -1/8 (- (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1)) (+ (* 1/2 x) 1) 1 (- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (/ 1 (sqrt x)) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) x) (+ (* (/ 1 (sqrt x)) -1/8) (+ (* (sqrt (pow x -3)) 1/16) (* 1/2 (sqrt x)))) (- (sqrt (+ x 1)) (sqrt x)) (+ (/ (/ -1/8 (sqrt x)) x) (/ (* 1/2 (sqrt x)) x)) (/ (/ -1/8 (sqrt x)) x) (/ (* 1/2 (sqrt x)) x) (- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (/ 1 (sqrt x)) -1/8) (* 1/2 (sqrt x))) x) (/ (+ (* (pow x 3/2) 1/2) (* -1/8 (sqrt x))) (* x x)) (+ (* (pow x 3/2) 1/2) (* -1/8 (sqrt x))) (pow x 3/2) 3/2 (* -1/8 (sqrt x)) (* x x))
85.0ms
n
@0
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (neg (/ (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) n)) (/ (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) n) (+ (* -1 (+ (log (+ 1 x)) (/ (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n))) (log x)) -1 (+ (log (+ 1 x)) (/ (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n)) (log (+ 1 x)) x (/ (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) n) (+ (* (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) -1) (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)))) (/ (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) n) (* -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3))) -1/6 (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (pow (log (+ 1 x)) 3) 3 (pow (log x) 3) (log x) n (* 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2))) 1/2 (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (pow (log (+ 1 x)) 2) 2 (pow (log x) 2) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) 1 (pow x (/ 1 n)) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (/ x n) 1) (/ x n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ x 1) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (exp (/ (log (+ 1 x)) n)) (/ (log (+ 1 x)) n))
85.0ms
x
@inf
((- (cbrt (+ x 1)) (cbrt x)) (/ 1/3 (pow (cbrt x) 2)) 1/3 (pow (cbrt x) 2) (cbrt x) x 2 (- (/ (cbrt (+ (* x x) -1)) (cbrt (- x 1))) (cbrt x)) (neg (* 0 x)) (* 0 x) 0 (- (pow (+ 1 x) 1/3) (pow x 1/3)) (* (pow (cbrt x) -2) 1/3) (pow (cbrt x) -2) -2 (- (cbrt (+ x 1)) (cbrt x)) (* (exp (* (log (cbrt x)) -2)) 1/3) (exp (* (log (cbrt x)) -2)) (* (log (cbrt x)) -2) (log (cbrt x)) (- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (pow (exp (log x)) -2)) 1/3) (cbrt (pow (exp (log x)) -2)) (pow (exp (log x)) -2) (exp (log x)) (log x))
72.0ms
x
@0
((- (cbrt (+ x 1)) (cbrt x)) (* (/ 1 (pow (cbrt x) 2)) 1/3) (/ 1 (pow (cbrt x) 2)) 1 (pow (cbrt x) 2) (cbrt x) x 2 1/3 (- (cbrt (+ x 1)) (pow x 1/3)) (cbrt (+ x 1)) (pow x 1/3) (- (pow (+ 1 x) 1/3) (pow x 1/3)) (pow (+ 1 x) 1/3) (+ 1 x) (- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (exp (* (log x) -2))) 1/3) (cbrt (exp (* (log x) -2))) (exp (* (log x) -2)) (* (log x) -2) (log x) -2 (- (/ (cbrt (+ (* x x) -1)) (cbrt (- x 1))) (cbrt x)) (neg (* (+ (* (* (cbrt (pow x -5)) 1/3) -1) (* (cbrt (pow x -2)) 0)) x)) (* (+ (* (* (cbrt (pow x -5)) 1/3) -1) (* (cbrt (pow x -2)) 0)) x) (+ (* (* (cbrt (pow x -5)) 1/3) -1) (* (cbrt (pow x -2)) 0)) (* (cbrt (pow x -5)) 1/3) (cbrt (pow x -5)) (pow x -5) -5 -1 (* (cbrt (pow x -2)) 0) (cbrt (pow x -2)) (pow x -2) 0)
64.0ms
x
@-inf
((- (tan (+ x eps)) (tan x)) (* (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) eps) (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (neg eps) eps (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x))) (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) (* (- 1 (neg (pow (tan x) 2))) (sin x)) (- 1 (neg (pow (tan x) 2))) 1 (neg (pow (tan x) 2)) (pow (tan x) 2) (tan x) x 2 (sin x) (cos x) -1/2 (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)) (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (sin x) 2) (pow (cos x) 2) -1 (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6)) (* (pow (tan x) 2) 1/6) 1/6 (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x))) (* (- 1 (neg (pow (tan x) 2))) (sin x)) (- 1 (neg (pow (tan x) 2))) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x))) (- (tan (+ x eps)) (tan x)) (tan eps) (- (tan (+ x eps)) (tan x)) (* (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) eps) (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) (+ 1 (+ (* 1/3 (* eps eps)) (* x (+ (* eps (+ 1 (* 2/3 (* eps eps)))) (* x (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps)))))))))))) (+ (* 1/3 (* eps eps)) (* x (+ (* eps (+ 1 (* 2/3 (* eps eps)))) (* x (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps))))))))))) 1/3 (* eps eps) (* x (+ (* eps (+ 1 (* 2/3 (* eps eps)))) (* x (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps)))))))))) (+ (* eps (+ 1 (* 2/3 (* eps eps)))) (* x (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps))))))))) (+ 1 (* 2/3 (* eps eps))) (* 2/3 (* eps eps)) 2/3 (* x (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps)))))))) (+ 1 (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps))))))) (+ (* 4/3 (* eps eps)) (* eps (* x (+ 4/3 (* 17/9 (* eps eps)))))) 4/3 (* eps (* x (+ 4/3 (* 17/9 (* eps eps))))) (* x (+ 4/3 (* 17/9 (* eps eps)))) (+ 4/3 (* 17/9 (* eps eps))) (* 17/9 (* eps eps)) 17/9 (- (tan (+ x eps)) (tan x)) (* (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) eps) (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) (+ (* 1/3 eps) (* x (+ 1 (+ (* 2/3 (* eps eps)) (* x (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps)))))))))) (* x (+ 1 (+ (* 2/3 (* eps eps)) (* x (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps))))))))) (+ 1 (+ (* 2/3 (* eps eps)) (* x (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps)))))))) (+ (* 2/3 (* eps eps)) (* x (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps))))))) (* x (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps)))))) (+ (* 4/3 eps) (* x (+ 4/3 (* 17/9 (* eps eps))))) (- (tan (+ x eps)) (tan x)) (* (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) eps) (- (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (neg (pow (tan x) 2))) (+ (* (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) eps) 1) (+ (* (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)) eps) (* 1 (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)))) (- (* (neg eps) (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (sin x)) (cos x)) -1/2) (/ (+ (* (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6) (sin x)) (* 1/6 (* (- 1 (neg (pow (tan x) 2))) (sin x)))) (cos x)))) (+ (+ (* (/ (* (- 1 (neg (pow (tan x) 2))) (pow (sin x) 2)) (pow (cos x) 2)) -1) (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6))) 1/6)))

prune2.7s (1.5%)

Memory
-651.0MiB live, 4 481.7MiB allocated; 610ms collecting garbage
Counts
41 537 → 1 683
Compiler

Compiled 130 895 to 57 441 computations (56.1% saved)

analyze1.8s (1%)

Memory
78.2MiB live, 1 617.9MiB allocated; 485ms collecting garbage
Algorithm
28×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%61.1%38.9%0%0%0%0
7.4%4.5%56.6%38.9%0%0%0%1
22.3%13.6%47.5%38.9%0%0%0%2
40.2%23.5%34.9%38.9%0%2.7%0%3
53.4%31.1%27.2%38.9%0%2.8%0%4
63%36.3%21.3%38.9%0%3.6%0%5
65.9%37.5%19.4%38.9%0%4.2%0%6
70.4%38.8%16.3%38.9%0%6%0%7
73.6%40.2%14.4%38.9%0%6.5%0%8
76.3%40.9%12.7%38.9%0%7.5%0%9
78.4%41.4%11.4%38.9%0%8.3%0%10
81.1%42.4%9.9%38.9%0%8.8%0%11
82.3%42.7%9.2%38.9%0%9.3%0%12
Compiler

Compiled 483 to 337 computations (30.2% saved)

bsearch1.8s (1%)

Memory
3.5MiB live, 1 545.0MiB allocated; 237ms collecting garbage
Algorithm
97×binary-search
14×left-value
Stop Event
96×narrow-enough
predicate-same
Samples
649.0ms6 307×0valid
225.0ms890×1valid
140.0ms419×2valid
134.0ms1 534×0invalid
3.0ms36×0exit
Compiler

Compiled 39 878 to 29 324 computations (26.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 894.0ms
ival-mult: 222.0ms (24.8% of total)
ival-pow: 150.0ms (16.8% of total)
ival-sub: 133.0ms (14.9% of total)
ival-div: 95.0ms (10.6% of total)
ival-exp: 87.0ms (9.7% of total)
adjust: 55.0ms (6.2% of total)
ival-sqrt: 52.0ms (5.8% of total)
ival-neg: 33.0ms (3.7% of total)
ival-add: 29.0ms (3.2% of total)
ival-cos: 10.0ms (1.1% of total)
ival-expm1: 7.0ms (0.8% of total)
ival-true: 7.0ms (0.8% of total)
exact: 5.0ms (0.6% of total)
ival-assert: 4.0ms (0.4% of total)
ival-cbrt: 3.0ms (0.3% of total)

simplify1.4s (0.8%)

Memory
41.6MiB live, 1 326.3MiB allocated; 165ms collecting garbage
Stop Event
28×node limit

start1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.4MiB live, 0.3MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...