neg log

Time bar (total: 1.9s)

analyze3.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
33.3%12.5%25%0%0%62.5%0%4
60%18.7%12.5%0%0%68.7%0%5
77.8%21.9%6.2%0%0%71.8%0%6
88.2%23.4%3.1%0%0%73.4%0%7
93.9%24.2%1.6%0%0%74.2%0%8
96.9%24.6%0.8%0%0%74.6%0%9
98.4%24.8%0.4%0%0%74.8%0%10
99.2%24.9%0.2%0%0%74.9%0%11
99.6%24.9%0.1%0%0%74.9%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample911.0ms (47.6%)

Results
800.0ms8256×body256valid
2.0ms26×body256invalid
Bogosity

preprocess14.0ms (0.7%)

Algorithm
egg-herbie
Rules
22×sub-neg
16×+-commutative
12×fma-def
*-commutative
associate--r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01446
12642
23642
34142
45442
56442
67342
Stop Event
saturated
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (-.f64 (/.f64 1 (neg.f64 x)) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(neg.f64 (log.f64 (-.f64 (/.f64 1 (neg.f64 x)) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 (neg.f64 x)) -1)))
(neg.f64 (log.f64 (+.f64 (/.f64 -1 x) -1)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg
+-commutative
fma-def
1-exp
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11621
21921
32121
42621
53021
63521
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))

eval1.0ms (0%)

Compiler

Compiled 15 to 13 computations (13.3% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Accurracy
100.0%
Counts
3 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Compiler

Compiled 16 to 14 computations (12.5% saved)

localize163.0ms (8.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(log.f64 (-.f64 (/.f64 1 x) 1))
Compiler

Compiled 25 to 20 computations (20% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(log.f64 (-.f64 (/.f64 1 x) 1))
0.0ms
x
@inf
(log.f64 (-.f64 (/.f64 1 x) 1))
0.0ms
x
@-inf
(log.f64 (-.f64 (/.f64 1 x) 1))

rewrite96.0ms (5%)

Algorithm
batch-egg-rewrite
Rules
1518×pow1
1404×add-exp-log
1402×log1p-expm1-u
1402×expm1-log1p-u
1372×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116317
2202617
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(log.f64 (-.f64 (/.f64 1 x) 1))
Outputs
(+.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 2)) (log.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -3) -1)) (log.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -2) -1)) (log1p.f64 (/.f64 1 x)))
(-.f64 (+.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1))) 1)
(*.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(exp.f64 (log.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log1p.f64 (-.f64 (+.f64 (/.f64 1 x) -1) 1))

simplify63.0ms (3.3%)

Algorithm
egg-herbie
Rules
1556×fma-neg
1210×distribute-lft-in
1060×distribute-rgt-in
544×fma-def
478×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086758
1196726
2596720
32816702
47664702
Stop Event
node limit
Counts
32 → 56
Calls
Call 1
Inputs
(*.f64 -1 (log.f64 x))
(+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1 (log.f64 x)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(+.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 2)) (log.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -3) -1)) (log.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -2) -1)) (log1p.f64 (/.f64 1 x)))
(-.f64 (+.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1))) 1)
(*.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(exp.f64 (log.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log1p.f64 (-.f64 (+.f64 (/.f64 1 x) -1) 1))
Outputs
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x)))
(*.f64 -1 (+.f64 x (log.f64 x)))
(-.f64 (neg.f64 (log.f64 x)) x)
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x))))
(fma.f64 -1/2 (*.f64 x x) (*.f64 -1 (+.f64 x (log.f64 x))))
(-.f64 (-.f64 (*.f64 x (*.f64 x -1/2)) x) (log.f64 x))
(-.f64 (*.f64 x (*.f64 x -1/2)) (+.f64 x (log.f64 x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1 (log.f64 x)))))
(fma.f64 -1/2 (*.f64 x x) (fma.f64 -1 x (fma.f64 -1/3 (pow.f64 x 3) (neg.f64 (log.f64 x)))))
(fma.f64 -1/2 (*.f64 x x) (-.f64 (-.f64 (*.f64 -1/3 (pow.f64 x 3)) (log.f64 x)) x))
(-.f64 (fma.f64 x (*.f64 x -1/2) (fma.f64 -1/3 (pow.f64 x 3) (neg.f64 x))) (log.f64 x))
(-.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x -1/3) -1/2)) (log.f64 x)) x)
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(+.f64 (log.f64 -1) (/.f64 -1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (/.f64 1/2 (*.f64 x x))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 x x))) (/.f64 -1 x))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -1 x) (/.f64 -1/2 (*.f64 x x))))
(+.f64 (log.f64 -1) (fma.f64 -1/2 (pow.f64 x -2) (/.f64 -1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1/2 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1/3 (pow.f64 x 3)))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 x x))) (+.f64 (/.f64 1 x) (/.f64 1/3 (pow.f64 x 3))))
(+.f64 (log.f64 -1) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1/3 (pow.f64 x 3)))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 -1/2 (pow.f64 x -2) (/.f64 -1 x)) (/.f64 -1/3 (pow.f64 x 3))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(+.f64 (log.f64 -1) (/.f64 -1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (/.f64 1/2 (*.f64 x x))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 x x))) (/.f64 -1 x))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -1 x) (/.f64 -1/2 (*.f64 x x))))
(+.f64 (log.f64 -1) (fma.f64 -1/2 (pow.f64 x -2) (/.f64 -1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1/2 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1/3 (pow.f64 x 3)))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 x x))) (+.f64 (/.f64 1 x) (/.f64 1/3 (pow.f64 x 3))))
(+.f64 (log.f64 -1) (-.f64 (/.f64 -1 x) (+.f64 (/.f64 1/2 (*.f64 x x)) (/.f64 1/3 (pow.f64 x 3)))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 -1/2 (pow.f64 x -2) (/.f64 -1 x)) (/.f64 -1/3 (pow.f64 x 3))))
(+.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 2)) (log.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 -1 (/.f64 1 x))) 2)) (log.f64 (cbrt.f64 (+.f64 -1 (/.f64 1 x)))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 -1 (/.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 -1 (/.f64 1 x)))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -3) -1)) (log.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 x -3))) (log.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 x -3))) (log.f64 (+.f64 (/.f64 1 x) (+.f64 1 (pow.f64 x -2)))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 x -3))) (log1p.f64 (+.f64 (/.f64 1 x) (pow.f64 x -2))))
(-.f64 (log.f64 (+.f64 (pow.f64 x -2) -1)) (log1p.f64 (/.f64 1 x)))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 x -2))) (log1p.f64 (/.f64 1 x)))
(-.f64 (+.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1))) 1)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(*.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2)) (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 3)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(pow.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3) 1/3)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (/.f64 1 x) -1))) 2)
(log.f64 (+.f64 -1 (/.f64 1 x)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 3))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(exp.f64 (log.f64 (log.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 -1 (/.f64 1 x)))
(log1p.f64 (-.f64 (+.f64 (/.f64 1 x) -1) 1))
(log1p.f64 (+.f64 (/.f64 1 x) -2))

eval21.0ms (1.1%)

Compiler

Compiled 704 to 553 computations (21.4% saved)

prune8.0ms (0.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New52456
Fresh000
Picked101
Done000
Total53457
Accurracy
100.0%
Counts
57 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
96.9%
(neg.f64 (neg.f64 (log.f64 x)))
100.0%
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
0.0%
(neg.f64 (log.f64 -1))
98.1%
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
96.9%
(neg.f64 (neg.f64 (log.f64 x)))
100.0%
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
0.0%
(neg.f64 (log.f64 -1))
Compiler

Compiled 48 to 40 computations (16.7% saved)

localize128.0ms (6.7%)

Compiler

Compiled 59 to 32 computations (45.8% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked044
Done000
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
96.9%
(neg.f64 (neg.f64 (log.f64 x)))
100.0%
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
0.0%
(neg.f64 (log.f64 -1))
Compiler

Compiled 52 to 41 computations (21.2% saved)

regimes21.0ms (1.1%)

Counts
5 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
Outputs
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
Calls

5 calls:

5.0ms
(log.f64 (-.f64 (/.f64 1 x) 1))
4.0ms
(-.f64 (/.f64 1 x) 1)
4.0ms
(/.f64 1 x)
3.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
3.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
100.0%1(log.f64 (-.f64 (/.f64 1 x) 1))
100.0%1(-.f64 (/.f64 1 x) 1)
100.0%1(/.f64 1 x)
Compiler

Compiled 55 to 43 computations (21.8% saved)

regimes19.0ms (1%)

Counts
4 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Calls

5 calls:

4.0ms
(-.f64 (/.f64 1 x) 1)
4.0ms
(log.f64 (-.f64 (/.f64 1 x) 1))
4.0ms
(/.f64 1 x)
3.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
3.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
100.0%1(log.f64 (-.f64 (/.f64 1 x) 1))
100.0%1(-.f64 (/.f64 1 x) 1)
100.0%1(/.f64 1 x)
Compiler

Compiled 48 to 37 computations (22.9% saved)

regimes4.0ms (0.2%)

Counts
3 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
Outputs
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
98.1%1x
Compiler

Compiled 16 to 10 computations (37.5% saved)

regimes4.0ms (0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
Outputs
(neg.f64 (neg.f64 (log.f64 x)))
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
96.9%1x
Compiler

Compiled 10 to 8 computations (20% saved)

regimes3.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
Outputs
(neg.f64 (log.f64 -1))
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
0.0%1x
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify9.0ms (0.5%)

Algorithm
egg-herbie
Rules
62×unsub-neg
44×neg-mul-1
28×sub-neg
28×neg-sub0
26×distribute-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02175
14075
26767
310367
413867
515867
618067
719867
Stop Event
done
saturated
Calls
Call 1
Inputs
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 -1))
Outputs
(neg.f64 (log1p.f64 (+.f64 (/.f64 1 x) -2)))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(neg.f64 (-.f64 (neg.f64 (log.f64 x)) x))
(+.f64 (log.f64 x) (neg.f64 (neg.f64 x)))
(+.f64 x (log.f64 x))
(neg.f64 (neg.f64 (log.f64 x)))
(log.f64 x)
(neg.f64 (log.f64 -1))
Compiler

Compiled 28 to 23 computations (17.9% saved)

soundness398.0ms (20.8%)

Rules
1556×fma-neg
1556×fma-neg
1556×fma-neg
1518×pow1
1404×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116317
2202617
086758
1196726
2596720
32816702
47664702
086758
1196726
2596720
32816702
47664702
086758
1196726
2596720
32816702
47664702
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 132 to 106 computations (19.7% saved)

end0.0ms (0%)

preprocess41.0ms (2.2%)

Compiler

Compiled 64 to 50 computations (21.9% saved)

Profiling

Loading profile data...