Data.Random.Distribution.T:$ccdf from random-fu-0.2.6.2

Time bar (total: 3.1s)

analyze14.0ms (0.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
Operation ival-add, time spent: 3.0ms, 75.0% of total-time
Operation ival-div, time spent: 1.0ms, 25.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.2s (38.7%)

Results
971.0ms7241×256valid
92.0ms1014×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 246.0ms
Operation ival-div, time spent: 136.0ms, 55.0% of total-time
Operation ival-add, time spent: 101.0ms, 41.0% of total-time
Operation const, time spent: 9.0ms, 4.0% of total-time
Bogosity

preprocess488.0ms (15.9%)

Algorithm
egg-herbie
Rules
1962×fma-neg
1002×times-frac
972×div-sub
948×distribute-lft-in
888×distribute-rgt-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 y y)
00-0-(/.f64 (+.f64 x y) (+.f64 y y))
00-0-y
00-0-(+.f64 x y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
023220
150196
2119196
3340184
41369162
53017151
64389151
75089147
85561147
95865147
106107147
116577147
126783147
136787147
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y))
(/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y)))
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y)))
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y))))
(/.f64 (+.f64 y x) (+.f64 x x))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (*.f64 2 y))
(/.f64 (+.f64 x y) (*.f64 y 2))
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
(fma.f64 x (/.f64 1/2 y) 1/2)
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (*.f64 2 y))
(/.f64 (+.f64 x y) (*.f64 y 2))
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
(fma.f64 x (/.f64 1/2 y) 1/2)
(/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 y))
(/.f64 (-.f64 y x) (*.f64 y 2))
(*.f64 -1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 -1/2 (/.f64 x y)) 1/2)
(fma.f64 x (/.f64 -1/2 y) 1/2)
(/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y)))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 y))
(/.f64 (-.f64 y x) (*.f64 y 2))
(*.f64 -1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 -1/2 (/.f64 x y)) 1/2)
(fma.f64 x (/.f64 -1/2 y) 1/2)
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y)))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 (neg.f64 y)))
(/.f64 (-.f64 y x) (*.f64 y -2))
(*.f64 1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 1/2 (/.f64 x y)) -1/2)
(fma.f64 x (/.f64 1/2 y) -1/2)
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y))))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 (neg.f64 y)))
(/.f64 (-.f64 y x) (*.f64 y -2))
(*.f64 1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 1/2 (/.f64 x y)) -1/2)
(fma.f64 x (/.f64 1/2 y) -1/2)
(/.f64 (+.f64 y x) (+.f64 x x))
(/.f64 (+.f64 x y) (*.f64 2 x))
(/.f64 (+.f64 x y) (*.f64 x 2))
(*.f64 1/2 (/.f64 (+.f64 x y) x))
(-.f64 1/2 (/.f64 (*.f64 y -1/2) x))
(fma.f64 y (/.f64 1/2 x) 1/2)
Compiler

Compiled 54 to 22 computations (59.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 88.0ms
Operation ival-div, time spent: 81.0ms, 92.0% of total-time
Operation ival-add, time spent: 6.0ms, 7.0% of total-time
Operation const, time spent: 1.0ms, 1.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 29 to 18 computations (37.9% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) (+.f64 y y))
99.8%
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize62.0ms (2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(/.f64 (+.f64 x y) (+.f64 y y))
99.6%
(*.f64 x (/.f64 1/2 y))
Compiler

Compiled 37 to 18 computations (51.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
Operation ival-div, time spent: 12.0ms, 48.0% of total-time
Operation ival-add, time spent: 7.0ms, 28.0% of total-time
Operation ival-mult, time spent: 4.0ms, 16.0% of total-time
Operation ival-sub, time spent: 1.0ms, 4.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time

series73.0ms (2.4%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (*.f64 x (/.f64 1/2 y))>
#<alt (/.f64 (+.f64 x y) (+.f64 y y))>
Outputs
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
Calls

12 calls:

TimeVariablePointExpression
65.0ms
x
@inf
(* x (/ 1/2 y))
1.0ms
x
@inf
(/ (+ x y) (+ y y))
1.0ms
y
@0
(* x (/ 1/2 y))
1.0ms
x
@0
(* x (/ 1/2 y))
1.0ms
y
@inf
(* x (/ 1/2 y))

rewrite208.0ms (6.8%)

Algorithm
batch-egg-rewrite
Rules
1326×prod-diff
809×log1p-expm1-u
809×expm1-log1p-u
796×log-prod
432×fma-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01347
117941
2292541
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(*.f64 x (/.f64 1/2 y))
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(+.f64 0 (*.f64 x (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(/.f64 x (/.f64 0 0))
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(/.f64 (*.f64 x 1/2) y)
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))

simplify24.0ms (0.8%)

Algorithm
egg-herbie
Rules
58×*-commutative
26×associate-*l/
26×associate-*r/
20×+-commutative
14×cube-mult
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01782175
14582175
Stop Event
unsound
Counts
115 → 93
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 1/2 (/.f64 x y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 0 (*.f64 x (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(/.f64 x (/.f64 0 0))
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(/.f64 (*.f64 x 1/2) y)
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))
Outputs
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 1/2 (/.f64 x y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 0 (*.f64 x (/.f64 0 0)))
(*.f64 x -1)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 -1 x)) (cbrt.f64 (pow.f64 -1 x)))) (log.f64 (cbrt.f64 (pow.f64 -1 x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 -1 x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(*.f64 x -1)
(/.f64 x (/.f64 0 0))
(/.f64 x -1)
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(*.f64 (/.f64 -1 y) (*.f64 1/2 x))
(/.f64 (*.f64 x 1/2) y)
(*.f64 1/2 (/.f64 x y))
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(*.f64 1/2 (/.f64 x y))
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (*.f64 1/2 x) (*.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2)))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (*.f64 1/2 x) (*.f64 (sqrt.f64 y) (sqrt.f64 y)))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(*.f64 x -1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(*.f64 -1 (pow.f64 (cbrt.f64 x) 3))
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(*.f64 x -1)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(pow.f64 (*.f64 -1 (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(sqrt.f64 (*.f64 -1 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (pow.f64 -1 x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(*.f64 x -1)
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(*.f64 x -1)
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(*.f64 x -1)
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(*.f64 x -1)
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(*.f64 x -1)
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
-1
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(*.f64 2 (log.f64 (sqrt.f64 -1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
-1
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
-1
(*.f64 (/.f64 0 0) (+.f64 x y))
-1
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
-1
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
-1
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (/.f64 (+.f64 x y) 2) (pow.f64 y 3)) (fma.f64 y y -1))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
-1
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
-1
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
-1
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
-1
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(sqrt.f64 (*.f64 -1 (pow.f64 (+.f64 x y) 2)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
-1
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
-1
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
-1
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
-1
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
-1
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) -1))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))
-1

eval21.0ms (0.7%)

Compiler

Compiled 988 to 685 computations (30.7% saved)

prune14.0ms (0.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New89493
Fresh000
Picked202
Done000
Total91495
Accuracy
100.0%
Counts
95 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
40.3%
(-.f64 (/.f64 x -1) -1/2)
51.9%
1/2
2.3%
-1
Compiler

Compiled 22 to 19 computations (13.6% saved)

localize56.0ms (1.8%)

Compiler

Compiled 35 to 25 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-mult, time spent: 8.0ms, 38.0% of total-time
Operation ival-div, time spent: 8.0ms, 38.0% of total-time
Operation ival-sub, time spent: 3.0ms, 14.0% of total-time
Operation const, time spent: 2.0ms, 10.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune4.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked044
Done000
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
40.3%
(-.f64 (/.f64 x -1) -1/2)
51.9%
1/2
2.3%
-1
Compiler

Compiled 52 to 40 computations (23.1% saved)

regimes13.0ms (0.4%)

Counts
6 → 1
Calls
Call 1
Inputs
-1
1/2
(-.f64 (/.f64 x -1) -1/2)
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
Calls

3 calls:

5.0ms
x
5.0ms
y
3.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 15 to 9 computations (40% saved)

regimes10.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
-1
1/2
(-.f64 (/.f64 x -1) -1/2)
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
Outputs
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
Calls

2 calls:

6.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
99.8%1x
99.8%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes9.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
-1
1/2
(-.f64 (/.f64 x -1) -1/2)
Outputs
1/2
Calls

2 calls:

5.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
51.9%1x
51.9%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
Calls

2 calls:

3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
2.3%1x
2.3%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg
*-commutative
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01652
12252
22752
32952
43052
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
1/2
-1
Outputs
(-.f64 (/.f64 (*.f64 x 1/2) y) -1/2)
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
1/2
-1
Compiler

Compiled 24 to 20 computations (16.7% saved)

soundness824.0ms (26.9%)

Rules
1962×fma-neg
1326×prod-diff
1002×times-frac
972×div-sub
948×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023220
150196
2119196
3340184
41369162
53017151
64389151
75089147
85561147
95865147
106107147
116577147
126783147
136787147
01347
117941
2292541
01782175
14582175
Stop Event
unsound
node limit
saturated
Compiler

Compiled 465 to 224 computations (51.8% saved)

end0.0ms (0%)

preprocess47.0ms (1.5%)

Compiler

Compiled 72 to 52 computations (27.8% saved)

Profiling

Loading profile data...