Herbie run

Date:Thursday, March 27th, 2025
Commit:6a59e611 on merge-improve-alternatives
Seed:2025086
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:167 817.5 MB

Time bar (total: 2.6min)

sample1.5min (58.1%)

Memory
2 189.7MiB live, 97 679.7MiB allocated; 25.5s collecting garbage
Samples
24.5s44 628×2valid
16.4s97 205×1valid
15.3s147 531×0invalid
8.7s6 245×5exit
6.0s85 738×0valid
2.6s3 595×3valid
342.0ms4 269×0exit
182.0ms1 135×1exit
51.0ms3exit
21.0ms4exit
3.0ms2exit
2.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 59.5s
ival-tan: 11.6s (19.5% of total)
ival-pow: 9.2s (15.5% of total)
adjust: 5.6s (9.4% of total)
ival-mult!: 4.7s (7.9% of total)
ival-cos: 3.8s (6.4% of total)
ival-log: 3.6s (6.1% of total)
ival-div!: 3.2s (5.3% of total)
ival-sin: 3.2s (5.3% of total)
ival-exp: 2.2s (3.7% of total)
ival-expm1: 2.1s (3.6% of total)
ival-add!: 1.8s (3.1% of total)
ival-sub!: 1.8s (3% of total)
ival-sqrt: 1.7s (2.8% of total)
ival-fabs: 1.6s (2.7% of total)
ival-log1p: 1.0s (1.7% of total)
ival-<: 593.0ms (1% of total)
ival-neg: 437.0ms (0.7% of total)
ival-atan: 370.0ms (0.6% of total)
ival-<=: 362.0ms (0.6% of total)
ival-and: 355.0ms (0.6% of total)
ival-cbrt: 258.0ms (0.4% of total)
ival-assert: 71.0ms (0.1% of total)
ival-fmin: 66.0ms (0.1% of total)
ival->: 1.0ms (0% of total)
Bogosity

rewrite22.6s (14.3%)

Memory
97.2MiB live, 22 376.5MiB allocated; 6.7s collecting garbage
Stop Event
258×iter limit
108×node limit
Counts
15 926 → 33 876

preprocess7.9s (5%)

Memory
163.9MiB live, 7 406.5MiB allocated; 2.2s collecting garbage
Stop Event
56×iter limit
51×node limit
saturated
Compiler

Compiled 23 562 to 6 261 computations (73.4% saved)

derivations6.4s (4%)

Memory
-172.7MiB live, 5 545.4MiB allocated; 1.6s collecting garbage
Stop Event
23×fuel
done
Compiler

Compiled 9 869 to 2 000 computations (79.7% saved)

eval6.4s (4%)

Memory
-256.2MiB live, 9 199.8MiB allocated; 1.4s collecting garbage
Compiler

Compiled 1 625 355 to 173 240 computations (89.3% saved)

explain5.8s (3.7%)

Memory
-178.0MiB live, 6 295.8MiB allocated; 1.9s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation415621
log.f64#fsensitivity7633
/.f64#fu/u4460
sqrt.f64#foflow-rescue3980
+.f64#fcancellation3300
/.f64#fu/n1040
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity680
/.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/u240
(*.f64 b eps)underflow151
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow150
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow151
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow238
(*.f64 a eps)underflow150
sqrt.f64#fuflow-rescue160
-.f64#fnan-rescue100
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o70
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow8
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow8
(exp.f64 x)overflow7
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow7
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow55
sin.f64(sin.f64 (+.f64 x eps))sensitivity30
tan.f64(tan.f64 (+.f64 x eps))sensitivity30
cos.f64(cos.f64 (+.f64 x eps))sensitivity30
exp.f64#fsensitivity20
/.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))overflow8
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow8
Confusion
Predicted +Predicted -
+519618
-1571797
Precision
0.9706706519708574
Recall
0.996547756041427
Confusion?
Predicted +Predicted MaybePredicted -
+5196153
-15781789
Precision?
0.9693080357142857
Recall?
0.9994246260069045
Freqs
test
numberfreq
01815
14565
2642
395
451
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.4s2 726×2valid
1.0s6 098×1valid
742.0ms226×3valid
469.0ms5 286×0valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.9s
ival-tan: 1.2s (40.9% of total)
adjust: 273.0ms (9.3% of total)
ival-log: 207.0ms (7% of total)
ival-cos: 198.0ms (6.7% of total)
ival-sin: 183.0ms (6.2% of total)
ival-div!: 171.0ms (5.8% of total)
ival-pow: 130.0ms (4.4% of total)
ival-exp: 127.0ms (4.3% of total)
ival-mult!: 98.0ms (3.3% of total)
ival-sqrt: 85.0ms (2.9% of total)
ival-sub!: 73.0ms (2.5% of total)
ival-add!: 61.0ms (2.1% of total)
ival-log1p: 59.0ms (2% of total)
ival-expm1: 24.0ms (0.8% of total)
ival-atan: 21.0ms (0.7% of total)
ival-cbrt: 16.0ms (0.5% of total)
ival-neg: 13.0ms (0.4% of total)

series3.8s (2.4%)

Memory
50.0MiB live, 4 910.3MiB allocated; 581ms collecting garbage
Counts
2 738 → 13 188
Calls

504 calls:

TimeVariablePointExpression
69.0ms
x
@inf
((- (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))) (/ (exp (neg (/ (neg (log x)) n))) (* n x)) (exp (neg (/ (neg (log x)) n))) (neg (/ (neg (log x)) n)) (/ (neg (log x)) n) (neg (log x)) (* n x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) x) (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x) (- (* (pow n -2) 1/2) (/ 1/2 n)) (* (pow n -2) 1/2) (pow n -2) -2 (/ 1/2 n) (/ (exp (neg (/ (neg (log x)) n))) n))
66.0ms
x
@0
((- (cbrt (+ x 1)) (cbrt x)) (* (* (cbrt (pow x -1)) (cbrt (pow x -1))) 1/3) (* (cbrt (pow x -1)) (cbrt (pow x -1))) (cbrt (pow x -1)) (pow x -1) x -1 1/3 (- (cbrt (+ x 1)) (cbrt x)) (+ (* 1/3 x) (- 1 (cbrt x))) (- 1 (cbrt x)) 1 (cbrt x) (- (cbrt (+ x 1)) (cbrt x)) (* (pow (pow x -2) 1/3) 1/3) (pow (pow x -2) 1/3) (pow x -2) -2 (- (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) (- (cbrt (pow (cbrt (- x -1)) 3)) (cbrt x)) (cbrt (pow (cbrt (- x -1)) 3)) (pow (cbrt (- x -1)) 3) (cbrt (- x -1)) (- x -1) 3)
57.0ms
x
@-inf
((- (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))) (/ (exp (neg (/ (neg (log x)) n))) (* n x)) (exp (neg (/ (neg (log x)) n))) (neg (/ (neg (log x)) n)) (/ (neg (log x)) n) (neg (log x)) (* n x) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) x) (+ (* (exp (neg (/ (neg (log x)) n))) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x)) (/ (exp (neg (/ (neg (log x)) n))) n)) (/ (- (* (pow n -2) 1/2) (/ 1/2 n)) x) (- (* (pow n -2) 1/2) (/ 1/2 n)) (* (pow n -2) 1/2) (pow n -2) -2 (/ 1/2 n) (/ (exp (neg (/ (neg (log x)) n))) n))
51.0ms
b
@0
((/ (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (neg b) b (sqrt (- (* b b) (* 4 (* a c)))) (- (* b b) (* 4 (* a c))) (* b b) (* 4 (* a c)) 4 (* a c) a c (* 2 a) 2)
51.0ms
x
@-inf
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ x 1) x 1 (/ 1 n) n (pow x (/ 1 n)))

prune3.6s (2.3%)

Memory
232.1MiB live, 4 561.8MiB allocated; 1.7s collecting garbage
Counts
40 241 → 1 631
Compiler

Compiled 103 921 to 50 992 computations (50.9% saved)

regimes3.6s (2.3%)

Memory
-240.0MiB live, 4 439.9MiB allocated; 1.3s collecting garbage
Counts
3 403 → 351
Calls

43 calls:

959.0ms
x
467.0ms
b_2
323.0ms
eps
154.0ms
(/.f64 #s(literal 1 binary64) n)
118.0ms
a
Compiler

Compiled 2 044 to 1 901 computations (7% saved)

analyze2.7s (1.7%)

Memory
-282.5MiB live, 2 164.8MiB allocated; 2.6s 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)

simplify1.9s (1.2%)

Memory
-218.5MiB live, 1 412.3MiB allocated; 988ms collecting garbage
Stop Event
28×node limit

bsearch1.5s (1%)

Memory
32.9MiB live, 1 822.3MiB allocated; 377ms collecting garbage
Algorithm
116×binary-search
19×left-value
Stop Event
110×narrow-enough
predicate-same
Samples
361.0ms4 807×0valid
257.0ms1 484×1valid
187.0ms344×2valid
108.0ms1 584×0invalid
2.0ms20×0exit
1.0ms3valid
Compiler

Compiled 49 481 to 34 261 computations (30.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 634.0ms
ival-pow: 163.0ms (25.7% of total)
ival-mult!: 116.0ms (18.3% of total)
ival-neg: 90.0ms (14.2% of total)
adjust: 63.0ms (9.9% of total)
ival-sqrt: 54.0ms (8.5% of total)
ival-div!: 51.0ms (8.1% of total)
ival-add!: 43.0ms (6.8% of total)
ival-sub!: 30.0ms (4.7% of total)
ival-cos: 11.0ms (1.7% of total)
ival-cbrt: 10.0ms (1.6% of total)
ival-expm1: 2.0ms (0.3% of total)

start1.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...