Herbie run

Date:Tuesday, February 25th, 2025
Commit:87019920 on main
Seed:2025056
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:158 335.6 MB

Time bar (total: 2.9min)

sample1.9min (64.5%)

Memory
885.4MiB live, 98 310.3MiB allocated; 34.4s collecting garbage
Samples
27.1s43 781×2valid
21.3s96 705×1valid
19.5s145 894×0invalid
15.7s7 129×5exit
7.4s87 320×0valid
2.7s3 359×3valid
349.0ms4 233×0exit
4.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-pow: 14.9s (19% of total)
ival-tan: 11.9s (15.2% of total)
adjust: 9.9s (12.6% of total)
ival-mult: 4.9s (6.2% of total)
ival-add: 4.5s (5.7% of total)
ival-div: 4.3s (5.4% of total)
ival-sub: 3.9s (5% of total)
ival-log: 3.9s (5% of total)
ival-cos: 3.8s (4.9% of total)
ival-sin: 3.4s (4.3% of total)
const: 2.8s (3.5% of total)
ival-exp: 1.9s (2.4% of total)
ival-expm1: 1.6s (2.1% of total)
ival-fabs: 1.3s (1.7% of total)
ival-sqrt: 1.2s (1.5% of total)
ival-log1p: 1.2s (1.5% of total)
ival-atan: 842.0ms (1.1% of total)
ival-<: 557.0ms (0.7% of total)
ival-<=: 391.0ms (0.5% of total)
ival-and: 377.0ms (0.5% of total)
ival-neg: 290.0ms (0.4% of total)
ival-cbrt: 252.0ms (0.3% of total)
exact: 152.0ms (0.2% of total)
ival-assert: 137.0ms (0.2% of total)
ival-fmin: 74.0ms (0.1% of total)
ival->: 1.0ms (0% of total)
Bogosity

rewrite20.0s (11.6%)

Memory
203.1MiB live, 17 891.2MiB allocated; 4.7s collecting garbage
Stop Event
258×iter limit
105×node limit
Counts
14 852 → 31 937

preprocess7.1s (4.1%)

Memory
-108.8MiB live, 6 124.5MiB allocated; 1.3s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Compiler

Compiled 20 188 to 5 351 computations (73.5% saved)

eval6.8s (3.9%)

Memory
-70.8MiB live, 8 080.0MiB allocated; 2.3s collecting garbage
Compiler

Compiled 1 748 166 to 167 369 computations (90.4% saved)

explain6.6s (3.8%)

Memory
167.5MiB live, 6 175.7MiB allocated; 2.6s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation414622
log.f64#fsensitivity7670
/.f64#fu/u4380
sqrt.f64#foflow-rescue3980
+.f64#fcancellation3291
/.f64#fu/n1150
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity782
/.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/u230
(*.f64 b eps)underflow147
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow150
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow147
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow232
(*.f64 a eps)underflow150
sqrt.f64#fuflow-rescue160
-.f64#fnan-rescue100
sin.f64(sin.f64 (+.f64 x eps))sensitivity50
tan.f64(tan.f64 (+.f64 x eps))sensitivity50
cos.f64(cos.f64 (+.f64 x eps))sensitivity50
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o20
(*.f64 x x)overflow73
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o10
(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)overflow1
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow1
exp.f64(exp.f64 (*.f64 #s(literal 2 binary64) x))sensitivity10
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/n10
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow2
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow2
Confusion
Predicted +Predicted -
+521516
-1281809
Precision
0.9760434212988958
Recall
0.9969413114127318
Confusion?
Predicted +Predicted MaybePredicted -
+5215106
-128121797
Precision?
0.9739049394221808
Recall?
0.9988529917797744
Freqs
test
numberfreq
01825
14541
2656
397
449
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.8s2 700×2valid
1.6s6 102×1valid
466.0ms5 330×0valid
197.0ms204×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.4s
ival-tan: 685.0ms (20.2% of total)
ival-log: 646.0ms (19.1% of total)
adjust: 468.0ms (13.8% of total)
ival-sin: 246.0ms (7.3% of total)
ival-cos: 210.0ms (6.2% of total)
ival-exp: 187.0ms (5.5% of total)
ival-sub: 162.0ms (4.8% of total)
ival-div: 151.0ms (4.5% of total)
ival-add: 141.0ms (4.2% of total)
ival-pow: 123.0ms (3.6% of total)
ival-mult: 101.0ms (3% of total)
ival-log1p: 71.0ms (2.1% of total)
ival-sqrt: 60.0ms (1.8% of total)
ival-neg: 33.0ms (1% of total)
ival-expm1: 32.0ms (0.9% of total)
ival-atan: 26.0ms (0.8% of total)
ival-cbrt: 15.0ms (0.4% of total)
ival-true: 13.0ms (0.4% of total)
exact: 8.0ms (0.2% of total)
ival-assert: 6.0ms (0.2% of total)

derivations5.9s (3.4%)

Memory
196.8MiB live, 4 388.3MiB allocated; 685ms collecting garbage
Stop Event
23×fuel
done
Compiler

Compiled 8 916 to 1 972 computations (77.9% saved)

series3.7s (2.1%)

Memory
53.7MiB live, 4 363.2MiB allocated; 617ms collecting garbage
Counts
2 570 → 12 282
Calls

495 calls:

TimeVariablePointExpression
68.0ms
c
@0
((/ (+ (sqrt (+ (* (* -4 a) c) (* b b))) (neg b)) (* 2 a)) (+ (sqrt (+ (* (* -4 a) c) (* b b))) (neg b)) (sqrt (+ (* (* -4 a) c) (* b b))) (+ (* (* -4 a) c) (* b b)) (* -4 a) -4 a c (* b b) b (neg b) (* 2 a) 2 (/ (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (/ (neg b) a) (/ (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (* (sqrt (* (/ c a) -4)) 1/2) (sqrt (* (/ c a) -4)) (* (/ c a) -4) (/ c a) 1/2 (/ (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (/ (+ (* (/ (* (* c c) a) (* b b)) -1) (neg c)) b) (+ (* (/ (* (* c c) a) (* b b)) -1) (neg c)) (/ (* (* c c) a) (* b b)) (* (* c c) a) (* c c) -1 (neg c) (/ (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* (+ (* (/ b c) -1) (sqrt (* (/ a c) -4))) c) (+ (* (/ b c) -1) (sqrt (* (/ a c) -4))) (/ b c) (sqrt (* (/ a c) -4)) (* (/ a c) -4) (/ a c))
67.0ms
eps
@-inf
((+ (* (sin eps) (cos x)) (- (* (cos eps) (sin x)) (sin x))) (sin eps) eps (cos x) x (- (* (cos eps) (sin x)) (sin x)) (* (cos eps) (sin x)) (cos eps) (sin x) (- (sin (+ x eps)) (sin x)) (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (* (sin x) eps) -1/2 (- (sin (+ x eps)) (sin x)) (* (+ (* (+ (* (* (cos x) eps) -1/6) (* -1/2 (sin x))) eps) (cos x)) eps) (+ (* (+ (* (* (cos x) eps) -1/6) (* -1/2 (sin x))) eps) (cos x)) (+ (* (* (cos x) eps) -1/6) (* -1/2 (sin x))) (* (cos x) eps) -1/6 (* -1/2 (sin x)) (- (/ (+ (pow (* (cos x) (sin eps)) 3) (pow (* (cos eps) (sin x)) 3)) (+ (* (* (cos x) (sin eps)) (* (cos x) (sin eps))) (- (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (* (cos x) (sin eps)) (* (cos eps) (sin x)))))) (sin x)) (/ (+ (pow (* (cos x) (sin eps)) 3) (pow (* (cos eps) (sin x)) 3)) (+ (* (* (cos x) (sin eps)) (* (cos x) (sin eps))) (- (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (* (cos x) (sin eps)) (* (cos eps) (sin x)))))) (+ (pow (* (cos x) (sin eps)) 3) (pow (* (cos eps) (sin x)) 3)) (pow (* (cos x) (sin eps)) 3) (* (cos x) (sin eps)) 3 (pow (* (cos eps) (sin x)) 3) (+ (* (* (cos x) (sin eps)) (* (cos x) (sin eps))) (- (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (* (cos x) (sin eps)) (* (cos eps) (sin x))))) (- (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (* (cos x) (sin eps)) (* (cos eps) (sin x)))) (* (* (cos eps) (sin x)) (* (cos eps) (sin x))) (* (* (cos x) (sin eps)) (* (cos eps) (sin x))))
58.0ms
eps
@inf
((* (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) 2) (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) (* (cos (* (+ (* 2 x) eps) 1/2)) (sin (* 1/2 eps))) (cos (* (+ (* 2 x) eps) 1/2)) (* (+ (* 2 x) eps) 1/2) (+ (* 2 x) eps) 2 x eps 1/2 (sin (* 1/2 eps)) (* 1/2 eps) (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (+ (* (+ (* 1/12 (* (* eps eps) x)) (* -1/2 eps)) x) (* (* eps eps) -1/2)) x) eps) (* (+ (* (* x x) -1/2) 1) eps) (+ (* (* x x) -1/2) 1) (* x x) -1/2 1 (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (+ (* (+ (* 1/12 (* (* eps eps) x)) (* -1/2 eps)) x) (* (* eps eps) -1/2)) x) eps) (+ (* (+ (* 1/12 (* (* eps eps) x)) (* -1/2 eps)) x) (* (* eps eps) -1/2)) (* (+ (* (/ eps x) -1/2) (* (* eps eps) 1/12)) (* x x)) (+ (* (/ eps x) -1/2) (* (* eps eps) 1/12)) (/ eps x) (* (* eps eps) 1/12) (* eps eps) 1/12 (- (sin (+ x eps)) (sin x)) (* (+ (* (* (sin x) eps) -1/2) (cos x)) eps) (+ (* (* (sin x) eps) -1/2) (cos x)) (* (sin x) eps) (sin x) (* (+ (* (* x x) -1/6) 1) x) (cos x) (* (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) 2) (* (cos (/ (+ (+ eps x) x) 2)) (sin (/ (- (+ eps x) x) 2))) (cos (/ (+ (+ eps x) x) 2)) (/ (+ (+ eps x) x) 2) (+ (+ eps x) x) (+ eps x) (sin (/ (- (+ eps x) x) 2)) (* (+ (* (- (* (+ (* -1/645120 (* eps eps)) 1/3840) (* eps eps)) 1/48) (* eps eps)) 1/2) eps) (+ (* (- (* (+ (* -1/645120 (* eps eps)) 1/3840) (* eps eps)) 1/48) (* eps eps)) 1/2) (- (* (+ (* -1/645120 (* eps eps)) 1/3840) (* eps eps)) 1/48) (* (+ (* -1/645120 (* eps eps)) 1/3840) (* eps eps)) (+ (* -1/645120 (* eps eps)) 1/3840) -1/645120 1/3840 1/48)
55.0ms
n
@0
((- (- (* (+ n 1) (log (+ n 1))) (* n (log n))) 1) (- (* (+ n 1) (log (+ n 1))) (* n (log n))) (* (+ n 1) (log (+ n 1))) (+ n 1) n 1 (log (+ n 1)) (* n (log n)) (log n))
54.0ms
x
@-inf
((- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x)) (* (+ (* (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (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 (neg (pow (tan x) 2))) (tan x))) eps) (- 1 (neg (pow (tan x) 2)))) eps) (+ (* (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (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 (neg (pow (tan x) 2))) (tan x))) eps) (- 1 (neg (pow (tan x) 2)))) (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (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 (neg (pow (tan x) 2))) (tan x))) (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (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))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (cos x)))) (neg eps) eps (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan x)) -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (cos x))) (* (- 1 (neg (pow (tan x) 2))) (tan x)) (- 1 (neg (pow (tan x) 2))) 1 (neg (pow (tan x) 2)) (pow (tan x) 2) (tan x) x 2 -1/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/6 (- 1 (neg (pow (tan x) 2)))))) (cos x)) (* (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/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/6 (- 1 (neg (pow (tan x) 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)) (* (- 1 (neg (pow (tan x) 2))) (/ (pow (sin x) 2) (pow (cos x) 2))) (/ (pow (sin x) 2) (pow (cos x) 2)) (pow (sin x) 2) (pow (cos x) 2) (cos x) -1 (+ (+ (* (- 1 (neg (pow (tan x) 2))) -1/2) (* (pow (tan x) 2) 1/6)) 1/6) (+ (* (- 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)))) (- (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/3 (* eps eps)) 1) 1/3 (* eps eps) (- (tan (+ x eps)) (tan x)) (tan (+ x eps)) (+ x eps) (tan x) (* (+ (* (+ (* (+ (* 17/315 (* x x)) 2/15) (* x x)) 1/3) (* x x)) 1) x) (+ (* (+ (* (+ (* 17/315 (* x x)) 2/15) (* x x)) 1/3) (* x x)) 1) (+ (* (+ (* 17/315 (* x x)) 2/15) (* x x)) 1/3) (+ (* 17/315 (* x x)) 2/15) 2/15 (* x x) (- (+ (/ (tan x) (- 1 (* (tan x) (tan eps)))) (/ (tan eps) (- 1 (* (tan x) (tan eps))))) (tan x)) (+ (/ (tan x) (- 1 (* (tan x) (tan eps)))) (/ (tan eps) (- 1 (* (tan x) (tan eps))))) (/ (tan x) (- 1 (* (tan x) (tan eps)))) (- 1 (* (tan x) (tan eps))) (* (tan x) (tan eps)) (tan eps) (/ (tan eps) (- 1 (* (tan x) (tan eps)))) (- (tan (+ x eps)) (tan (+ (+ x (PI)) (PI)))) (* (+ (* (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan 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 (neg (pow (tan x) 2))) (tan x))) eps) (- 1 (neg (pow (tan x) 2)))) eps) (+ (* (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan 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 (neg (pow (tan x) 2))) (tan x))) eps) (- 1 (neg (pow (tan x) 2)))) (+ (* (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan 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 (neg (pow (tan x) 2))) (tan x))) (- (* (neg eps) (+ (* (* (- 1 (neg (pow (tan x) 2))) (tan 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))) (tan 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))) (tan 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))) (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))) (* x (- (* (* x x) (- (* (* x x) (- (* -44981/30240 (* x x)) 1141/720)) 41/36)) 1/6)) (- (* (* x x) (- (* (* x x) (- (* -44981/30240 (* x x)) 1141/720)) 41/36)) 1/6) (* (* x x) (- (* (* x x) (- (* -44981/30240 (* x x)) 1141/720)) 41/36)) (- (* (* x x) (- (* -44981/30240 (* x x)) 1141/720)) 41/36) (* (* x x) (- (* -44981/30240 (* x x)) 1141/720)) (- (* -44981/30240 (* x x)) 1141/720) (* -44981/30240 (* x x)) -44981/30240 1141/720 41/36)

regimes3.3s (1.9%)

Memory
79.8MiB live, 4 140.5MiB allocated; 711ms collecting garbage
Counts
3 589 → 322
Calls

43 calls:

894.0ms
x
435.0ms
eps
187.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
176.0ms
b
103.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1 995 to 1 878 computations (5.9% saved)

prune2.9s (1.7%)

Memory
35.9MiB live, 4 298.0MiB allocated; 588ms collecting garbage
Counts
39 570 → 1 649
Compiler

Compiled 120 328 to 55 166 computations (54.2% saved)

analyze2.0s (1.2%)

Memory
-132.5MiB live, 1 908.7MiB allocated; 560ms 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.7s (1%)

Memory
-83.2MiB live, 1 435.3MiB allocated; 363ms collecting garbage
Algorithm
98×binary-search
17×left-value
Stop Event
85×narrow-enough
13×predicate-same
Samples
443.0ms5 945×0valid
198.0ms767×1valid
159.0ms379×2valid
150.0ms1 847×0invalid
3.0ms13×3valid
2.0ms24×0exit
Compiler

Compiled 33 690 to 25 723 computations (23.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 684.0ms
ival-mult: 164.0ms (24% of total)
ival-pow: 124.0ms (18.1% of total)
adjust: 94.0ms (13.7% of total)
ival-div: 76.0ms (11.1% of total)
ival-sub: 68.0ms (9.9% of total)
ival-sqrt: 57.0ms (8.3% of total)
ival-neg: 37.0ms (5.4% of total)
ival-add: 28.0ms (4.1% of total)
ival-cos: 12.0ms (1.8% of total)
ival-true: 7.0ms (1% of total)
ival-assert: 4.0ms (0.6% of total)
ival-cbrt: 4.0ms (0.6% of total)
exact: 4.0ms (0.6% of total)
ival-expm1: 3.0ms (0.4% of total)
ival-exp: 2.0ms (0.3% of total)

simplify1.6s (0.9%)

Memory
-172.9MiB live, 1 217.8MiB allocated; 173ms collecting garbage
Stop Event
28×node limit

start1.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...