Herbie run

Date:Monday, December 23rd, 2024
Commit:7aac494d on cleanup-taylor
Seed:2024358
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:237 744.3 MB

Time bar (total: 4.4min)

sample2.1min (47.6%)

Memory
775.9MiB live, 117 505.1MiB allocated; 36.5s collecting garbage
Samples
29.8s43 816×2valid
23.8s144 949×0invalid
22.2s96 930×1valid
17.2s7 094×5exit
8.5s87 103×0valid
2.8s3 311×3valid
493.0ms4 254×0exit
9.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.5min
ival-pow: 16.7s (18.9% of total)
ival-tan: 12.8s (14.5% of total)
adjust: 8.7s (9.8% of total)
ival-mult: 6.9s (7.8% of total)
const: 5.3s (6% of total)
ival-sub: 4.2s (4.8% of total)
ival-div: 4.0s (4.5% of total)
ival-cos: 3.9s (4.4% of total)
ival-log: 3.5s (4% of total)
ival-add: 3.3s (3.8% of total)
ival-sin: 3.3s (3.7% of total)
ival-expm1: 2.6s (2.9% of total)
ival-fabs: 2.5s (2.8% of total)
ival-exp: 2.4s (2.8% of total)
ival-<=: 2.0s (2.2% of total)
ival-log1p: 1.3s (1.5% of total)
ival-sqrt: 1.2s (1.4% of total)
ival-<: 939.0ms (1.1% of total)
ival-and: 640.0ms (0.7% of total)
ival-fmin: 444.0ms (0.5% of total)
exact: 356.0ms (0.4% of total)
ival-atan: 348.0ms (0.4% of total)
ival-neg: 304.0ms (0.3% of total)
ival-cbrt: 274.0ms (0.3% of total)
ival->: 251.0ms (0.3% of total)
ival-assert: 151.0ms (0.2% of total)
ival-true: 67.0ms (0.1% of total)
Bogosity

simplify33.1s (12.5%)

Memory
914.0MiB live, 28 598.0MiB allocated; 5.7s collecting garbage
Algorithm
248×egg-herbie
Stop Event
330×iter limit
213×node limit
35×saturated
Counts
8 194 → 8 096

localize26.1s (9.8%)

Memory
332.3MiB live, 23 457.6MiB allocated; 7.8s collecting garbage
Samples
10.0s6 374×2valid
8.9s11 334×1valid
2.2s9 534×0valid
784.0ms523×3valid
301.0ms101×5exit
74.0ms164×0exit
65.0ms127×0invalid
4.0ms4valid
Compiler

Compiled 23 169 to 3 428 computations (85.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.7s
adjust: 3.6s (19.4% of total)
ival-mult: 3.1s (16.8% of total)
ival-div: 2.2s (11.9% of total)
ival-tan: 1.8s (9.6% of total)
ival-pow: 1.6s (8.4% of total)
ival-sub: 1.1s (5.7% of total)
ival-add: 1.0s (5.5% of total)
ival-cos: 657.0ms (3.5% of total)
const: 596.0ms (3.2% of total)
ival-log: 578.0ms (3.1% of total)
ival-sin: 561.0ms (3% of total)
ival-exp: 427.0ms (2.3% of total)
ival-log1p: 351.0ms (1.9% of total)
ival-sqrt: 311.0ms (1.7% of total)
ival-cosh: 182.0ms (1% of total)
ival-pow2: 145.0ms (0.8% of total)
ival-neg: 104.0ms (0.6% of total)
ival-cbrt: 83.0ms (0.4% of total)
ival-expm1: 71.0ms (0.4% of total)
exact: 49.0ms (0.3% of total)
ival-atan: 31.0ms (0.2% of total)
ival-true: 22.0ms (0.1% of total)
ival-atan2: 15.0ms (0.1% of total)
ival-assert: 12.0ms (0.1% of total)
ival-hypot: 11.0ms (0.1% of total)
ival-pi: 8.0ms (0% of total)
ival-sinh: 7.0ms (0% of total)
ival-fabs: 1.0ms (0% of total)
ival->: 1.0ms (0% of total)
ival-then: 0.0ms (0% of total)

rewrite23.1s (8.7%)

Memory
-42.2MiB live, 20 352.6MiB allocated; 6.1s collecting garbage
Stop Event
223×iter limit
110×node limit
Counts
1 734 → 51 081

derivations21.1s (8%)

Memory
520.1MiB live, 12 165.9MiB allocated; 2.2s collecting garbage
Stop Event
205×iter limit
135×node limit
26×fuel
done
Compiler

Compiled 6 003 to 1 641 computations (72.7% saved)

eval11.0s (4.1%)

Memory
-152.8MiB live, 11 740.2MiB allocated; 3.6s collecting garbage
Compiler

Compiled 2 266 151 to 240 398 computations (89.4% saved)

explain6.2s (2.3%)

Memory
-62.2MiB live, 5 550.3MiB allocated; 1.6s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation414819
log.f64#fsensitivity7620
/.f64#fu/u4470
sqrt.f64#foflow-rescue3880
+.f64#fcancellation3302
/.f64#fu/n1200
pow.f64#fsensitivity730
-.f64#fnan-rescue240
/.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/u210
(*.f64 b eps)underflow150
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow152
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow150
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow234
(*.f64 a eps)underflow152
sqrt.f64#fuflow-rescue160
sin.f64(sin.f64 (+.f64 x eps))sensitivity40
tan.f64(tan.f64 (+.f64 x eps))sensitivity40
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o30
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow3
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow3
(exp.f64 x)overflow3
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow3
cos.f64(cos.f64 (+.f64 x eps))sensitivity32
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o20
(*.f64 x x)overflow47
exp.f64#fsensitivity20
*.f64#fn*u20
Confusion
Predicted +Predicted -
+521116
-1461795
Precision
0.9727459398917304
Recall
0.9969389707289076
Confusion?
Predicted +Predicted MaybePredicted -
+5211106
-146111784
Precision?
0.9708069914466344
Recall?
0.9988521140233404
Freqs
test
numberfreq
01811
14565
2638
3108
446
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
2.0s2 766×2valid
1.3s6 050×1valid
510.0ms5 302×0valid
131.0ms216×3valid
2.0ms4valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.1s
ival-tan: 851.0ms (27.6% of total)
adjust: 429.0ms (13.9% of total)
ival-sub: 264.0ms (8.6% of total)
ival-log: 217.0ms (7% of total)
ival-div: 199.0ms (6.5% of total)
ival-cos: 190.0ms (6.2% of total)
ival-sin: 175.0ms (5.7% of total)
ival-exp: 172.0ms (5.6% of total)
ival-pow: 128.0ms (4.2% of total)
ival-mult: 123.0ms (4% of total)
ival-add: 97.0ms (3.1% of total)
ival-sqrt: 72.0ms (2.3% of total)
ival-log1p: 56.0ms (1.8% of total)
ival-cbrt: 28.0ms (0.9% of total)
ival-expm1: 23.0ms (0.7% of total)
ival-atan: 20.0ms (0.6% of total)
ival-neg: 12.0ms (0.4% of total)
ival-true: 11.0ms (0.4% of total)
exact: 8.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

preprocess4.9s (1.8%)

Memory
-25.9MiB live, 4 160.0MiB allocated; 719ms collecting garbage
Algorithm
28×egg-herbie
Stop Event
56×iter limit
33×saturated
23×node limit
Compiler

Compiled 14 438 to 4 735 computations (67.2% saved)

series3.7s (1.4%)

Memory
-352.7MiB live, 3 529.8MiB allocated; 786ms collecting garbage
Counts
1 734 → 8 194
Calls

510 calls:

TimeVariablePointExpression
74.0ms
x
@-inf
((- (cbrt (+ x 1)) (cbrt x)) (/ (* (cbrt x) 1/3) x) (* (cbrt x) 1/3) (cbrt x) (- (cbrt (+ x 1)) (cbrt x)) (* (pow x -2/3) 1/3) (pow x -2/3) (* (/ -1 x) (/ -1 x)) (- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (* (/ -1 x) (/ -1 x))) 1/3) (cbrt (* (/ -1 x) (/ -1 x))) (- (cbrt (+ x 1)) (cbrt x)) (/ (+ (* (cbrt (pow x 4)) 1/3) (* -1/9 (cbrt x))) (* x x)) (+ (* (cbrt (pow x 4)) 1/3) (* -1/9 (cbrt x))) (* (cbrt (pow x 4)) 1/3) (+ (* (pow x 1/6) (neg (pow x 1/6))) (cbrt (+ 1 x))) (pow x 1/6) (neg (pow x 1/6)) (cbrt (+ 1 x)) (cbrt (pow x 4)))
72.0ms
x
@-inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (- (neg (log (+ 1 x))) (/ (+ (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2) (/ (+ (* -1/24 (/ (- (pow (log (+ 1 x)) 4) (pow (log x) 4)) n)) (* (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) -1/6)) (neg n))) n)) (log x)) (neg n)) (+ (- (neg (log (+ 1 x))) (/ (+ (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2) (/ (+ (* -1/24 (/ (- (pow (log (+ 1 x)) 4) (pow (log x) 4)) n)) (* (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) -1/6)) (neg n))) n)) (log x)) (- (neg (log (+ 1 x))) (/ (+ (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2) (/ (+ (* -1/24 (/ (- (pow (log (+ 1 x)) 4) (pow (log x) 4)) n)) (* (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) -1/6)) (neg n))) n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (/ (/ 1 n) x) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (/ (exp (/ (log x) n)) n) x) (/ (exp (/ (log x) n)) n) (exp (/ (log x) n)) (+ (* (cosh (/ (log x) n)) (* n x)) (* (* n x) (sinh (/ (log x) n)))) (/ (+ (* (cosh (/ (log x) n)) (* n x)) (* (* n x) (sinh (/ (log x) n)))) (* (* n x) (* n x))) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (cosh (/ (log x) n)) (+ (* (pow x (pow n -1)) (+ (pow x (pow n -1)) (pow (+ x 1) (/ 1 n)))) (pow (pow (+ x 1) (/ 1 n)) 2)) (/ (- (pow (pow (+ x 1) (/ 1 n)) 3) (pow (pow x (pow n -1)) 3)) (+ (* (pow x (pow n -1)) (+ (pow x (pow n -1)) (pow (+ x 1) (/ 1 n)))) (pow (pow (+ x 1) (/ 1 n)) 2))) (- (pow (pow (+ x 1) (/ 1 n)) 3) (pow (pow x (pow n -1)) 3)) (pow (pow (+ x 1) (/ 1 n)) 3) (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (- (pow (log (+ 1 x)) 4) (pow (log x) 4)) (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (/ (log x) n) (* (* n x) (sinh (/ (log x) n))) (pow (+ x 1) (/ 1 n)) (pow x (pow n -1)))
60.0ms
n
@0
((- (* (+ n 1) (log (+ n 1))) (* n (log n))) (log (+ n 1)) (- (- (* (+ n 1) (log (+ n 1))) (* n (log n))) 1) (* (+ n 1) (log (+ n 1))) (* n (log n)))
60.0ms
x
@inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (- (neg (log (+ 1 x))) (/ (+ (* 1/6 (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n)) (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2)) n)) (log x)) (neg n)) (+ (- (neg (log (+ 1 x))) (/ (+ (* 1/6 (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n)) (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2)) n)) (log x)) (- (neg (log (+ 1 x))) (/ (+ (* 1/6 (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n)) (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2)) n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (exp (/ (log x) n)) (* n x)) (exp (/ (log x) n)) (/ (log x) n) (/ (/ 2 n) 2) (- (pow (+ x 1) (/ 1 n)) (pow (exp (/ (/ 2 n) 2)) (log x))) (pow (+ x 1) (/ 1 n)) (+ x 1) (* (sinh (/ (/ (log (+ 1 x)) n) 2)) (cosh (/ (/ (log (+ 1 x)) n) 2))) (+ (* 2 (* (sinh (/ (/ (log (+ 1 x)) n) 2)) (cosh (/ (/ (log (+ 1 x)) n) 2)))) (cosh (/ (log (+ 1 x)) n))) (- (+ (* 2 (* (sinh (/ (/ (log (+ 1 x)) n) 2)) (cosh (/ (/ (log (+ 1 x)) n) 2)))) (cosh (/ (log (+ 1 x)) n))) (pow x (/ 1 n))) (sinh (/ (/ (log (+ 1 x)) n) 2)) (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (pow (exp (/ (/ 2 n) 2)) (log x)) (exp (/ (/ 2 n) 2)) (/ (log (+ 1 x)) n))
50.0ms
x
@0
((- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (/ (/ 1 x) x)) 1/3) (cbrt (/ (/ 1 x) x)) (/ (/ 1 x) x) (- (cbrt (+ x 1)) (cbrt x)) (cbrt (+ x 1)) (cbrt x) (pow (pow x 1/6) 2) (- (cbrt (+ x 1)) (pow (pow x 1/6) 2)) (cbrt (+ x 1)) (+ x 1) (- (cbrt (exp (log (+ 1 x)))) (cbrt x)) (cbrt (exp (log (+ 1 x)))) (exp (log (+ 1 x))) (log (+ 1 x)) (- (cbrt (pow (exp 3) (* (log (+ 1 x)) 1/3))) (cbrt x)) (cbrt (pow (exp 3) (* (log (+ 1 x)) 1/3))) (pow (exp 3) (* (log (+ 1 x)) 1/3)) (exp 3) (pow x 1/6))

prune3.3s (1.3%)

Memory
-304.6MiB live, 4 482.4MiB allocated; 1.2s collecting garbage
Counts
58 321 → 1 778
Compiler

Compiled 95 589 to 49 778 computations (47.9% saved)

regimes3.1s (1.2%)

Memory
143.4MiB live, 3 037.0MiB allocated; 419ms collecting garbage
Counts
3 085 → 257
Calls

43 calls:

760.0ms
x
340.0ms
eps
225.0ms
b
187.0ms
c
158.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
Compiler

Compiled 2 029 to 1 870 computations (7.8% saved)

analyze2.2s (0.8%)

Memory
152.7MiB live, 2 165.9MiB allocated; 1.2s 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.3s (0.5%)

Memory
-56.5MiB live, 997.2MiB allocated; 124ms collecting garbage
Algorithm
55×binary-search
12×left-value
Stop Event
52×narrow-enough
predicate-same
Samples
558.0ms4 149×0valid
129.0ms451×2valid
90.0ms501×1valid
77.0ms965×0invalid
5.0ms19×3valid
1.0ms16×0exit
Compiler

Compiled 21 616 to 16 528 computations (23.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 525.0ms
ival-mult: 213.0ms (40.6% of total)
ival-sqrt: 67.0ms (12.8% of total)
ival-div: 57.0ms (10.9% of total)
adjust: 45.0ms (8.6% of total)
ival-sub: 44.0ms (8.4% of total)
ival-pow: 29.0ms (5.5% of total)
ival-neg: 23.0ms (4.4% of total)
ival-add: 22.0ms (4.2% of total)
ival-cos: 6.0ms (1.1% of total)
ival-expm1: 5.0ms (1% of total)
ival-true: 4.0ms (0.8% of total)
ival-exp: 3.0ms (0.6% of total)
exact: 3.0ms (0.6% of total)
ival-assert: 2.0ms (0.4% of total)
ival-tan: 1.0ms (0.2% of total)

start1.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...