Herbie run

Date:Thursday, May 23rd, 2024
Commit:6b737c7e on explanations-trifurcate
Hostname:nightly with Racket 8.11.1
Seed:2024144
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 9.1min)

sample2.4min (26.5%)

Results
58.5s434195×0valid
42.2s7883×5exit
12.6s29206×1valid
3.0s6821×2valid
959.0ms4578×0unsamplable
200.0ms392×3valid
41.0ms560×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.6min
ival-sin: 32.9s (35.4% of total)
ival-mult: 18.3s (19.7% of total)
ival-add: 7.2s (7.7% of total)
...c/correct-round.rkt:121:19: 5.5s (5.9% of total)
ival-div: 5.4s (5.9% of total)
backward-pass: 4.0s (4.3% of total)
ival-exp: 3.3s (3.5% of total)
ival-sqrt: 2.7s (2.9% of total)
ival-sub: 2.7s (2.9% of total)
ival-log: 1.9s (2.1% of total)
ival-pow: 1.2s (1.3% of total)
ival-cos: 1.2s (1.3% of total)
ival-asin: 1.1s (1.1% of total)
ival-pi: 780.0ms (0.8% of total)
ival-asinh: 775.0ms (0.8% of total)
ival-atan2: 754.0ms (0.8% of total)
const: 702.0ms (0.8% of total)
ival->: 652.0ms (0.7% of total)
ival-acosh: 449.0ms (0.5% of total)
ival-neg: 442.0ms (0.5% of total)
ival-<=: 343.0ms (0.4% of total)
ival->=: 227.0ms (0.2% of total)
ival-fabs: 216.0ms (0.2% of total)
ival-atanh: 215.0ms (0.2% of total)
ival-and: 81.0ms (0.1% of total)
Bogosity

simplify1.6min (17.8%)

Algorithm
439×egg-herbie
Rules
166380×fma-define
112766×fma-neg
94265×distribute-lft-in
84563×distribute-rgt-in
83962×associate-*r*
Stop Event
138×saturated
292×node limit
unsound
Counts
97479 → 91927

soundness1.1min (11.8%)

Rules
56507×fma-define
54099×log1p-expm1-u
47534×fma-neg
43628×associate-*r*
36177×expm1-log1p-u
Stop Event
20×saturated
37×fuel
190×node limit
13×unsound
20×done
Compiler

Compiled 58344 to 16009 computations (72.6% saved)

rewrite49.4s (9%)

Algorithm
189×batch-egg-rewrite
Rules
124574×log1p-expm1-u
86675×expm1-log1p-u
39968×pow1
39213×add-exp-log
38006×add-log-exp
Stop Event
saturated
178×node limit
10×unsound
Counts
2180 → 60220

localize43.4s (7.9%)

Results
15.7s38377×0valid
6.6s3939×1valid
3.3s1430×2valid
3.0s654×5exit
2.5s4816×0invalid
81.0ms137×0unsamplable
69.0ms36×1unsamplable
15.0ms17×3valid
4.0ms2unsamplable
2.0ms4valid
Compiler

Compiled 46742 to 5290 computations (88.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.3s
ival-mult: 3.4s (18.5% of total)
ival-div: 2.0s (10.8% of total)
ival-add: 1.8s (9.6% of total)
ival-pow: 1.7s (9.5% of total)
...c/correct-round.rkt:121:19: 1.4s (7.8% of total)
backward-pass: 1.4s (7.7% of total)
ival-log: 1.3s (6.9% of total)
ival-sub: 1.0s (5.5% of total)
ival-sin: 786.0ms (4.3% of total)
ival-fma: 572.0ms (3.1% of total)
ival-sqrt: 448.0ms (2.5% of total)
ival-hypot: 424.0ms (2.3% of total)
ival-asin: 356.0ms (1.9% of total)
ival-exp: 336.0ms (1.8% of total)
ival-cos: 232.0ms (1.3% of total)
ival-acos: 231.0ms (1.3% of total)
ival-neg: 167.0ms (0.9% of total)
const: 145.0ms (0.8% of total)
ival-copysign: 136.0ms (0.7% of total)
ival-log1p: 127.0ms (0.7% of total)
ival-atan2: 107.0ms (0.6% of total)
ival-cbrt: 78.0ms (0.4% of total)
ival-fabs: 59.0ms (0.3% of total)
ival-expm1: 57.0ms (0.3% of total)
ival-pi: 41.0ms (0.2% of total)
ival-e: 8.0ms (0% of total)

eval36.5s (6.7%)

Compiler

Compiled 4139977 to 547780 computations (86.8% saved)

prune34.5s (6.3%)

Counts
138650 → 3082
Compiler

Compiled 139970 to 75077 computations (46.4% saved)

series18.5s (3.4%)

Counts
2180 → 37259
Calls

9516 calls:

TimeVariablePointExpression
380.0ms
x
@-inf
(log (/ -1 x))
260.0ms
im
@-inf
(log (/ (atan2 im re) (log base)))
222.0ms
u1
@0
(log (+ 1 (sqrt (* (log u1) -1/18))))
211.0ms
x.re
@inf
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cbrt (pow (sin (* y.im (log (sqrt (+ (* x.re x.re) (* x.im x.im)))))) 3)))
206.0ms
u1
@inf
(* (sqrt (log (pow u1 -1/18))) (cos (* (* 2 (PI)) u2)))

explain16.0s (2.9%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11620
-.f64#fcancellation7273
/.f64#fo/o6610
sqrt.f32#foflow-rescue2010
/.f64#fo/n1940
sin.f64#fsensitivity1781
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))sensitivity1740
+.f64#fcancellation1590
sqrt.f64#fuflow-rescue1260
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1211
-.f64#fnan-rescue1170
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1161
*.f64#fn*u820
/.f64#fn/o720
/.f64#fu/u690
+.f64#fnan-rescue520
/.f64#fu/n430
*.f64#fn*o280
/.f64#fn/u90
exp.f64#fsensitivity40
*.f64(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))))o*u30
(*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))))overflow3
(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))overflow3
(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))underflow3
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue20
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow2
(*.f64 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow72
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow113
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow64
sin.f64(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue20
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow2
(*.f64 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow72
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow113
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow64
pow.f64(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))sensitivity11
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))oflow-rescue10
(+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64))))overflow1
(*.f64 x x)overflow73
(+.f64 (*.f64 x x) #s(literal 1 binary64))overflow73
Confusion
Predicted +Predicted -
+355630
-18210824
Precision
0.951310861423221
Recall
0.9916341327384273
Confusion?
Predicted +Predicted MaybePredicted -
+3556327
-182310821
Precision?
0.9505876068376068
Recall?
0.9924707194645845
Freqs
test
numberfreq
010854
13176
2558
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+3600
-0021
Precision?
1.0
Recall?
1.0
Results
4.3s25742×0valid
1.9s2814×1valid
468.0ms590×2valid
18.0ms32×3valid
5.0ms5exit
Compiler

Compiled 15172 to 2854 computations (81.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.9s
ival-mult: 1.4s (35% of total)
ival-add: 365.0ms (9.4% of total)
ival-exp: 325.0ms (8.4% of total)
ival-div: 321.0ms (8.3% of total)
ival-sub: 264.0ms (6.8% of total)
...c/correct-round.rkt:121:19: 215.0ms (5.5% of total)
ival-log: 177.0ms (4.6% of total)
backward-pass: 170.0ms (4.4% of total)
ival-sqrt: 126.0ms (3.2% of total)
ival-sin: 121.0ms (3.1% of total)
ival-asin: 113.0ms (2.9% of total)
ival-copysign: 65.0ms (1.7% of total)
ival-cos: 57.0ms (1.5% of total)
const: 51.0ms (1.3% of total)
ival-atan2: 47.0ms (1.2% of total)
ival-pow: 38.0ms (1% of total)
ival-fabs: 23.0ms (0.6% of total)
ival-pi: 20.0ms (0.5% of total)
ival-neg: 13.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)

bsearch13.3s (2.4%)

Algorithm
355×binary-search
42×left-value
Stop Event
predicate-same
347×narrow-enough
Results
7.2s37422×0valid
2.4s3907×1valid
190.0ms528×2valid
17.0ms47×3valid
Compiler

Compiled 79582 to 54189 computations (31.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.8s
ival-mult: 2.7s (40.2% of total)
ival-sqrt: 693.0ms (10.2% of total)
ival-atan2: 552.0ms (8.1% of total)
ival-exp: 538.0ms (7.9% of total)
ival-add: 524.0ms (7.7% of total)
ival-log: 448.0ms (6.6% of total)
ival-sin: 307.0ms (4.5% of total)
ival-sub: 247.0ms (3.6% of total)
ival-cos: 230.0ms (3.4% of total)
...c/correct-round.rkt:121:19: 183.0ms (2.7% of total)
ival-div: 126.0ms (1.8% of total)
backward-pass: 120.0ms (1.8% of total)
const: 51.0ms (0.7% of total)
ival-neg: 24.0ms (0.4% of total)
ival-fabs: 20.0ms (0.3% of total)
ival-copysign: 17.0ms (0.2% of total)
ival-pi: 1.0ms (0% of total)

preprocess13.0s (2.4%)

Algorithm
57×egg-herbie
Rules
20546×fma-neg
20224×fma-define
10466×unsub-neg
9196×sub-neg
8861×distribute-lft-in
Stop Event
32×saturated
25×node limit
Compiler

Compiled 31750 to 11804 computations (62.8% saved)

regimes12.0s (2.2%)

Counts
8298 → 821
Calls

132 calls:

1.1s
x
979.0ms
im
826.0ms
y.re
759.0ms
x.re
749.0ms
y.im
Compiler

Compiled 6153 to 3840 computations (37.6% saved)

analyze3.8s (0.7%)

Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
53.4%46.1%40.2%13.7%0%0%0%1
62.8%53.1%31.4%13.7%0%1.7%0%2
71.2%58.4%23.6%13.7%0%4.3%0%3
77.4%62%18.1%13.7%0%6.2%0%4
83.5%66.8%13.2%13.7%0%6.3%0%5
85.8%68.3%11.3%13.7%0%6.6%0%6
88.3%70.3%9.4%13.7%0%6.6%0%7
89.9%71.5%8%13.7%0%6.8%0%8
91.1%72.5%7.1%13.7%0%6.8%0%9
92.6%73.6%5.9%13.7%0%6.8%0%10
94%74.7%4.8%13.7%0%6.8%0%11
94.5%75.1%4.4%13.7%0%6.9%0%12
Compiler

Compiled 1558 to 790 computations (49.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.6s
ival-mult: 1.1s (44.6% of total)
ival-add: 323.0ms (12.6% of total)
...c/correct-round.rkt:121:19: 202.0ms (7.9% of total)
ival-sqrt: 188.0ms (7.3% of total)
ival-div: 181.0ms (7% of total)
ival-log: 138.0ms (5.4% of total)
ival-sub: 74.0ms (2.9% of total)
ival-pow: 74.0ms (2.9% of total)
ival-atan2: 74.0ms (2.9% of total)
ival-exp: 56.0ms (2.2% of total)
ival-sin: 23.0ms (0.9% of total)
const: 21.0ms (0.8% of total)
ival-cos: 17.0ms (0.7% of total)
ival->: 14.0ms (0.5% of total)
ival-<=: 13.0ms (0.5% of total)
ival-pi: 12.0ms (0.5% of total)
ival-neg: 7.0ms (0.3% of total)
backward-pass: 5.0ms (0.2% of total)
ival-and: 2.0ms (0.1% of total)
ival-atanh: 2.0ms (0.1% of total)
ival-asin: 1.0ms (0% of total)
ival-asinh: 0.0ms (0% of total)
ival->=: 0.0ms (0% of total)
ival-fabs: 0.0ms (0% of total)
ival-acosh: 0.0ms (0% of total)

end0.0ms (0%)

Profiling

Loading profile data...