Details

Time bar (total: 17.7s)

analyze355.0ms (2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
3.1%3.1%96.7%0.2%0%0%0%8
6.3%6.2%92%0.2%0%1.6%0%9
8.3%8.2%90.1%0.2%0%1.6%0%10
13.6%13.3%84.2%0.2%0%2.3%0%11
17.8%16.2%74.7%0.2%0%9%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.9s (16.2%)

Results
1.4s8256×body256valid
1.2s7409×body256invalid
175.0ms886×body256infinite
Bogosity

preprocess17.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
12×associate-/r*_binary64
swap-V-l
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03284
15684
26484
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
2
Call 2
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 c0 V))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 l V) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Symmetry

(sort V l)

Compiler

Compiled 16 to 12 computations (25% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21512
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

eval3.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
17.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
17.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
5.8b
(/.f64 A (*.f64 V l))
14.3b
(sqrt.f64 (/.f64 A (*.f64 V l)))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series26.0ms (0.1%)

Counts
3 → 12
Calls

30 calls:

TimeVariablePointExpression
2.0ms
c0
@inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
1.0ms
A
@0
(sqrt.f64 (/.f64 A (*.f64 V l)))
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
1.0ms
A
@inf
(/.f64 A (*.f64 V l))
1.0ms
l
@0
(sqrt.f64 (/.f64 A (*.f64 V l)))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
914×add-log-exp_binary64
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118528
2245628
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (/.f64 1 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 A (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 V l))) (/.f64 A (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 V l))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
102 → 91
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval43.0ms (0.2%)

Compiler

Compiled 1148 to 426 computations (62.9% saved)

prune35.0ms (0.2%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New731891
Fresh000
Picked011
Done000
Total731992
Error
2.2b
Counts
92 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
56.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
17.6b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
36.2b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
17.7b
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
38.3b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))
25.8b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
17.5b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
35.8b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
17.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
17.2b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
37.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
17.6b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
17.8b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
36.0b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
41.5b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
47.1b
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
39.2b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
17.6b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
17.9b
(*.f64 c0 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)))))
Compiler

Compiled 544 to 378 computations (30.5% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))
0.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
5.9b
(/.f64 l (/.f64 A V))
13.6b
(sqrt.f64 (/.f64 l (/.f64 A V)))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series30.0ms (0.2%)

Counts
4 → 48
Calls

39 calls:

TimeVariablePointExpression
5.0ms
A
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
2.0ms
V
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
1.0ms
l
@inf
(sqrt.f64 (/.f64 l (/.f64 A V)))
1.0ms
l
@0
(sqrt.f64 (/.f64 l (/.f64 A V)))
1.0ms
l
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
364×pow-prod-down_binary64
289×pow2_binary64
226×pow-unpow_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01140
123337
2314937
Stop Event
node limit
Counts
4 → 179
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 l (/.f64 A V)))
(/.f64 l (/.f64 A V))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 l)) (neg.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 V (/.f64 l A)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 V (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 V (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 2) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 l) (/.f64 1 (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V A) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l A) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 V A)) (/.f64 l (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) A) (/.f64 (cbrt.f64 l) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) A) (/.f64 (sqrt.f64 l) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) 1) (/.f64 (cbrt.f64 l) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) 1) (/.f64 (sqrt.f64 l) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) -2) (/.f64 l (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (pow.f64 (cbrt.f64 (/.f64 A V)) 2)) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) (pow.f64 (cbrt.f64 (/.f64 A V)) 2)) (/.f64 (sqrt.f64 l) (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (sqrt.f64 (/.f64 A V))) (/.f64 (cbrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (neg.f64 A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/4) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 5/6) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l 3) (pow.f64 (/.f64 A V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A (*.f64 l V)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 l (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l 3) (pow.f64 (/.f64 A V) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 V (/.f64 l A)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 V (/.f64 l A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (*.f64 V (/.f64 l A)))) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 -1) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 V (/.f64 l A)) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 V (/.f64 l A)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) (pow.f64 (*.f64 V (/.f64 l A)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V (/.f64 l A)))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4)) 2))))))

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
227 → 182
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
6.0b
(/.f64 (/.f64 A V) l)
14.3b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series130.0ms (0.7%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
115.0ms
A
@0
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
1.0ms
c0
@0
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
V
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
l
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
A
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
418×exp-prod_binary64
359×pow-prod-down_binary64
280×pow2_binary64
196×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
121728
2284428
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
(/.f64 (/.f64 A V) l)
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (*.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) V) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) 1) (/.f64 (cbrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) 1) (/.f64 (sqrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (cbrt.f64 (*.f64 l l))) (/.f64 (/.f64 1 V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (cbrt.f64 (*.f64 l l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 (*.f64 l l))) (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 l)) (/.f64 (/.f64 1 V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 5/6) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l (/.f64 V A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
166 → 120
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
6.1b
(*.f64 (/.f64 A V) (/.f64 1 l))
14.3b
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
Compiler

Compiled 40 to 20 computations (50% saved)

series11.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
1.0ms
A
@0
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
0.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
0.0ms
V
@-inf
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
0.0ms
A
@-inf
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
595×log-prod_binary64
421×pow-prod-down_binary64
286×pow2_binary64
236×pow-unpow_binary64
204×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123028
2305328
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))
(*.f64 (/.f64 A V) (/.f64 1 l))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 (*.f64 V l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 V (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 l) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (/.f64 l (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (/.f64 l (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 V A) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (neg.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) 1) (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A -1) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) -1) (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 A)) (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) (/.f64 1 l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 A V) -1) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 l) (neg.f64 A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 V l)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
175 → 128
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
0.2b
(*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))
0.2b
(/.f64 1 (*.f64 V l))
10.3b
(sqrt.f64 (/.f64 1 (*.f64 V l)))
Compiler

Compiled 45 to 21 computations (53.3% saved)

series16.0ms (0.1%)

Counts
4 → 12
Calls

33 calls:

TimeVariablePointExpression
1.0ms
V
@0
(sqrt.f64 (/.f64 1 (*.f64 V l)))
1.0ms
l
@0
(sqrt.f64 (/.f64 1 (*.f64 V l)))
1.0ms
l
@-inf
(sqrt.f64 (/.f64 1 (*.f64 V l)))
1.0ms
V
@-inf
(sqrt.f64 (/.f64 1 (*.f64 V l)))
1.0ms
V
@inf
(sqrt.f64 (/.f64 1 (*.f64 V l)))

rewrite132.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
588×log-prod_binary64
451×pow-prod-down_binary64
427×exp-prod_binary64
290×pow2_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01243
124135
2289635
Stop Event
node limit
Counts
4 → 154
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 1 (*.f64 V l)))
(/.f64 1 (*.f64 V l))
(*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 V l) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 V -1) l)) (pow.f64 (*.f64 V l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/6) (cbrt.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (pow.f64 (*.f64 V l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 V (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (pow.f64 V -1)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V -1) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 V -1) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2))) 2)) (cbrt.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)))) (sqrt.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 V l) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 V -1) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 V -1) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 V -1) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 V -1) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 V -1) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 V -1) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 V -1) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 V -1) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 V -1) l)) (cbrt.f64 (pow.f64 (*.f64 V l) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 V l) -2)) (cbrt.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (sqrt.f64 (pow.f64 (*.f64 V l) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 V (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (*.f64 V l) -3/2)) (pow.f64 (*.f64 V l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (pow.f64 V -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) -2) (cbrt.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 V -1) l) 5/6) (pow.f64 (*.f64 V l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V -1) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 V -1) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) -1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 V (neg.f64 l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))) 2)) (cbrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l))))) (sqrt.f64 (neg.f64 (log.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 V -1) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 V -1) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (*.f64 V l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (*.f64 V l))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/2)) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 A) c0) 1) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
166 → 155
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize49.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
6.0b
(/.f64 (/.f64 A V) l)
14.3b
(sqrt.f64 (/.f64 (/.f64 A V) l))
33.5b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
Compiler

Compiled 52 to 14 computations (73.1% saved)

series17.0ms (0.1%)

Counts
3 → 24
Calls

33 calls:

TimeVariablePointExpression
2.0ms
c0
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
1.0ms
A
@0
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
1.0ms
V
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
1.0ms
l
@-inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
1.0ms
l
@inf
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))

rewrite75.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
427×pow-prod-down_binary64
301×pow2_binary64
247×pow-unpow_binary64
213×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
126233
2323933
Stop Event
node limit
Counts
3 → 107
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
(sqrt.f64 (/.f64 (/.f64 A V) l))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (pow.f64 (*.f64 c0 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (*.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (cbrt.f64 c0) 2)) (cbrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (cbrt.f64 (/.f64 A (*.f64 V l)))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))) 3/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))) 3/2))))))

simplify40.0ms (0.2%)

Algorithm
egg-herbie
Rules
244×fma-def_binary64
21×associate-*l*_binary64
21×sub-neg_binary64
20×distribute-rgt-in_binary64
18×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014316
126316
258316
3105316
4120316
5168316
6240316
7277316
8319316
9488316
10516316
Stop Event
saturated
Counts
131 → 84
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) c0)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 c0 (cbrt.f64 -1))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (cbrt.f64 -1)) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (cbrt.f64 -1) (neg.f64 c0)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

eval240.0ms (1.4%)

Compiler

Compiled 9956 to 4036 computations (59.5% saved)

prune208.0ms (1.2%)

Pruning

26 alts after pruning (24 fresh and 2 done)

PrunedKeptTotal
New71420734
Fresh9413
Picked101
Done325
Total72726753
Error
1.0b
Counts
753 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
17.1b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
41.2b
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
17.6b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
47.4b
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (pow.f64 V -1)) (sqrt.f64 l))))
18.4b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
16.9b
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
56.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
27.9b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
37.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
25.8b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
49.9b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
17.8b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
47.4b
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
56.6b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0) 3))
17.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
35.8b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
17.2b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
25.8b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
17.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
35.8b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
18.2b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
17.9b
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
36.9b
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)
39.2b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
17.4b
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2))
50.2b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
Compiler

Compiled 710 to 506 computations (28.7% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))))
0.7b
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
5.9b
(*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))
13.6b
(sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))
Compiler

Compiled 65 to 44 computations (32.3% saved)

series16.0ms (0.1%)

Counts
4 → 48
Calls

39 calls:

TimeVariablePointExpression
1.0ms
V
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
1.0ms
A
@0
(sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))
1.0ms
A
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
0.0ms
V
@-inf
(sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))
0.0ms
V
@-inf
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))))

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
722×log-prod_binary64
341×pow2_binary64
283×pow-unpow_binary64
243×pow1/3_binary64
234×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01352
128038
2379738
Stop Event
node limit
Counts
4 → 162
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))
(*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) (cbrt.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) (cbrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 A -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) (pow.f64 (*.f64 l (/.f64 V A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A -1/2) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) (cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l V)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) (pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 A -1/2) (/.f64 1 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 l A)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 l (/.f64 V A)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 l (/.f64 V A))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 A (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (/.f64 1 V) l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 A) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l V) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) 2) (/.f64 A (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 l) 2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l V)) (/.f64 A (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 A) (/.f64 (/.f64 1 V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 (/.f64 1 V) l) (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 l) (neg.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 l) (*.f64 (neg.f64 A) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 l) (*.f64 A (/.f64 -1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 l A) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 l V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 l A)) (/.f64 -1 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) 1) (*.f64 (/.f64 -1 V) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 l)) (*.f64 (neg.f64 A) (/.f64 -1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l -1) (*.f64 (/.f64 1 V) (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) -1) (*.f64 (/.f64 -1 V) (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 l A) 1) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 l A) (cbrt.f64 (pow.f64 V -2))) (/.f64 1 (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 l A) (pow.f64 V -1/2)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 l V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) (/.f64 1 A)) (/.f64 -1 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 l V) -1) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 A -2) A) (pow.f64 (*.f64 l V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 l V) 3) (/.f64 (pow.f64 A -2) A)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (/.f64 (/.f64 1 V) l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 1 V) l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 V) (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 (pow.f64 A -2) A) (pow.f64 (*.f64 l V) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 l V) 3) (/.f64 (pow.f64 A -2) A)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 c0 c0)) (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (*.f64 l (/.f64 V A)) 1/4)) (pow.f64 (*.f64 l (/.f64 V A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (*.f64 l (/.f64 V A)))) (cbrt.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 A -1/2)) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 -1) (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l (/.f64 V A)) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l (/.f64 V A)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)) (cbrt.f64 (/.f64 1 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (*.f64 l (/.f64 V A)))) (cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1/2) (pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 l (/.f64 V A)))) (cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 A -1/2)) (/.f64 1 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 l (/.f64 V A))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (*.f64 l (/.f64 V A)))) 1))))))

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
210 → 166
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
5.7b
(/.f64 (/.f64 A l) V)
14.3b
(sqrt.f64 (/.f64 (/.f64 A l) V))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
A
@0
(sqrt.f64 (/.f64 (/.f64 A l) V))
1.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
0.0ms
l
@-inf
(sqrt.f64 (/.f64 (/.f64 A l) V))
0.0ms
A
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
0.0ms
l
@0
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
362×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119128
2264828
Stop Event
node limit
Counts
3 → 140
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A l) V))
(/.f64 (/.f64 A l) V)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) l)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 l V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 A (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 2) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (*.f64 (cbrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (*.f64 (sqrt.f64 (/.f64 A l)) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) l) (/.f64 1 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (/.f64 A l) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) 1) (/.f64 (cbrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) 1) (/.f64 (sqrt.f64 (/.f64 A l)) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (pow.f64 (cbrt.f64 V) 2)) (/.f64 (/.f64 1 l) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 V) -2) (/.f64 (/.f64 A l) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 (cbrt.f64 V) 2)) (/.f64 (sqrt.f64 (/.f64 A l)) (cbrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 V)) (/.f64 (/.f64 1 l) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (/.f64 A l) 2)) (sqrt.f64 V)) (/.f64 (cbrt.f64 (/.f64 A l)) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 5/6) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A l) 3) (pow.f64 V 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l V) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V (/.f64 l A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))) 2)) (cbrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V))))) (sqrt.f64 (log.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A l) 3) (pow.f64 V 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 A (*.f64 l V)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 A (*.f64 l V)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 A (*.f64 l V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1) (log.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (log.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 A l)) (*.f64 (log.f64 V) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 A l)) 1) (*.f64 (log.f64 V) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)) 1) 1))))))

simplify26.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
188 → 142
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
0.8b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
6.2b
(*.f64 V (/.f64 l A))
13.6b
(sqrt.f64 (*.f64 V (/.f64 l A)))
Compiler

Compiled 41 to 11 computations (73.2% saved)

series24.0ms (0.1%)

Counts
4 → 60
Calls

42 calls:

TimeVariablePointExpression
3.0ms
V
@inf
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
1.0ms
l
@-inf
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
1.0ms
V
@-inf
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
1.0ms
A
@-inf
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
1.0ms
V
@0
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
379×pow-prod-down_binary64
295×pow2_binary64
232×pow-unpow_binary64
208×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01143
123240
2309240
Stop Event
node limit
Counts
4 → 170
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 V (/.f64 l A)))
(*.f64 V (/.f64 l A))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) (pow.f64 (/.f64 (*.f64 V l) A) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) (cbrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) (pow.f64 (/.f64 (*.f64 V l) A) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 V l) A)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (*.f64 V l) A))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (*.f64 V l) A))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 V l) A))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 V l) A)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 V l) A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 V (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V l) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 V l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) V) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V (neg.f64 l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 V l) A) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 V l) A)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (*.f64 V l) A))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 V l) A))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) (pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2) (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 V l) A))) (/.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 (/.f64 (*.f64 V l) A))) (/.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (/.f64 (*.f64 V l) A))) (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (sqrt.f64 V)) (/.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (sqrt.f64 V)) (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/4) (/.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 (/.f64 (*.f64 V l) A) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/4)) (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)))) (neg.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) -2) (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) 1) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) (pow.f64 (cbrt.f64 c0) 2)) (cbrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) (sqrt.f64 c0)) (sqrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (*.f64 V l) A) (pow.f64 c0 -2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (*.f64 V l) A) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 (*.f64 V l) A) 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (*.f64 V l) A) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) (/.f64 1 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) (cbrt.f64 (*.f64 (/.f64 (*.f64 V l) A) (pow.f64 c0 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (*.f64 V l) A) (pow.f64 c0 -2))) (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 l A)) (/.f64 1 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) (sqrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) (/.f64 1 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 V l) A))) (/.f64 1 (neg.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) 1) (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) 1) (/.f64 (sqrt.f64 (/.f64 l A)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) 1) (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) -2) (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) (pow.f64 (cbrt.f64 c0) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) (pow.f64 (cbrt.f64 c0) 2)) (/.f64 (sqrt.f64 (/.f64 l A)) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) (pow.f64 (cbrt.f64 c0) 2)) (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/4) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 c0 -1/2) (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 V l) A)) (sqrt.f64 c0)) (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 1/6) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 c0)) (/.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (*.f64 V l) A) (pow.f64 c0 -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3/2) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (neg.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (*.f64 V l) A) (pow.f64 c0 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (*.f64 V l) A) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) c0))) 2))))))

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-/r*_binary64
associate-/r/_binary64
*-rgt-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014576
125540
234540
346540
449540
552540
659540
759540
Stop Event
saturated
Counts
230 → 174
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
Outputs
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)
(*.f64 (sqrt.f64 (/.f64 (*.f64 V l) A)) (/.f64 1 c0))
(/.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) c0)
(/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0)
(/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
0.2b
(*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))
12.2b
(pow.f64 (*.f64 V l) -1/2)
Compiler

Compiled 37 to 16 computations (56.8% saved)

series185.0ms (1%)

Counts
3 → 36
Calls

27 calls:

TimeVariablePointExpression
71.0ms
V
@0
(pow.f64 (*.f64 V l) -1/2)
49.0ms
l
@-inf
(pow.f64 (*.f64 V l) -1/2)
18.0ms
V
@-inf
(pow.f64 (*.f64 V l) -1/2)
16.0ms
l
@0
(pow.f64 (*.f64 V l) -1/2)
9.0ms
l
@inf
(pow.f64 (*.f64 V l) -1/2)

rewrite708.0ms (4%)

Algorithm
batch-egg-rewrite
Rules
577×log-prod_binary64
423×exp-prod_binary64
393×pow-prod-down_binary64
293×pow2_binary64
250×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
122834
2271434
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(pow.f64 (*.f64 V l) -1/2)
(*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 V l) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/6) (cbrt.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (*.f64 V l))) (pow.f64 (*.f64 V l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (pow.f64 (*.f64 V l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) -1) (pow.f64 (*.f64 V l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 V l) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 V l))) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/4 (log.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 -1/2 (log.f64 (*.f64 V l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) -1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (/.f64 1 (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 V l) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 V l) -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 V l) -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 A (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 V l) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 V l) -3/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 V l) -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 V l) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (*.f64 (pow.f64 (*.f64 V l) -1/2) c0))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (*.f64 (pow.f64 (*.f64 V l) -1/2) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (*.f64 (pow.f64 (*.f64 V l) -1/2) c0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (*.f64 (pow.f64 (*.f64 V l) -1/2) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 A (/.f64 1 (*.f64 V l))) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 A (/.f64 1 (*.f64 V l))) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (*.f64 (pow.f64 (*.f64 V l) -1/2) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))) 1) 1))))))

simplify77.0ms (0.4%)

Algorithm
egg-herbie
Rules
759×fma-def_binary64
517×fma-neg_binary64
515×div-sub_binary64
298×distribute-rgt-in_binary64
293×exp-sum_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
045456
1118456
2282384
3726312
41959312
55236312
Stop Event
node limit
Counts
111 → 82
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 V))) (log.f64 (*.f64 -1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 l)))
(*.f64 (pow.f64 l -1/2) (pow.f64 V -1/2))
(pow.f64 (*.f64 V l) -1/2)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
4.9b
(*.f64 (/.f64 A (*.f64 V l)) c0)
5.8b
(/.f64 A (*.f64 V l))
14.9b
(pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2)
Compiler

Compiled 47 to 14 computations (70.2% saved)

series33.0ms (0.2%)

Counts
3 → 60
Calls

36 calls:

TimeVariablePointExpression
7.0ms
V
@0
(pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2)
2.0ms
V
@inf
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
2.0ms
c0
@-inf
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
1.0ms
A
@0
(pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2)
1.0ms
l
@0
(pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2)

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
672×log-prod_binary64
478×pow-prod-down_binary64
317×pow2_binary64
295×pow-unpow_binary64
223×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01239
125434
2323734
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2)
(*.f64 (/.f64 A (*.f64 V l)) c0)
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)) (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/6) (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/4) (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1) (sqrt.f64 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 c0)) (pow.f64 c0 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 c0 1/4)) (pow.f64 c0 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 A c0)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (/.f64 A V) l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 A V) l)) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 A V) l)) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (/.f64 (*.f64 V l) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) (*.f64 A c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 A c0) (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 A c0)) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 A c0) V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 A c0) l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 A c0) 1) (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 A c0) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 A c0) (sqrt.f64 (*.f64 V l))) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 A) c0) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 A V) c0) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 A)) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (/.f64 A V)) l)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) (*.f64 A c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (/.f64 A V) l) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 A V) l) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (/.f64 A V) l) c0)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (*.f64 (/.f64 (/.f64 A V) l) c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 c0 (*.f64 (/.f64 (/.f64 A V) l) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))))

simplify72.0ms (0.4%)

Algorithm
egg-herbie
Rules
1009×fma-def_binary64
474×cancel-sign-sub-inv_binary64
447×distribute-neg-frac_binary64
363×div-sub_binary64
283×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018624
142624
2116624
3230624
4700624
52009624
64960624
Stop Event
node limit
Counts
139 → 83
Calls
Call 1
Inputs
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
Outputs
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(/.f64 (*.f64 A c0) (*.f64 V l))
(*.f64 (/.f64 c0 (*.f64 V l)) A)
(*.f64 A (/.f64 c0 (*.f64 V l)))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) c0)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

eval205.0ms (1.2%)

Compiler

Compiled 9786 to 4007 computations (59.1% saved)

prune230.0ms (1.3%)

Pruning

27 alts after pruning (23 fresh and 4 done)

PrunedKeptTotal
New67615691
Fresh11819
Picked101
Done246
Total69027717
Error
1.0b
Counts
717 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
17.1b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
36.6b
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)
47.6b
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
18.4b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
17.4b
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
17.9b
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
17.6b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
36.2b
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) c0))
27.9b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
37.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
17.9b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
25.8b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
56.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
39.2b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
49.9b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
17.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
17.8b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
17.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
47.4b
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
25.8b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
41.9b
(*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 A c0) l) V) 1/2) (sqrt.f64 c0))
35.8b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
17.4b
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2))
50.2b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
50.5b
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
17.7b
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
16.8b
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
Compiler

Compiled 700 to 494 computations (29.4% saved)

localize53.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
5.8b
(/.f64 (*.f64 V l) A)
14.0b
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series313.0ms (1.8%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
117.0ms
l
@0
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
71.0ms
l
@-inf
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
43.0ms
V
@0
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
19.0ms
V
@-inf
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
14.0ms
A
@-inf
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)

rewrite289.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
424×exp-prod_binary64
331×pow-prod-down_binary64
276×pow2_binary64
194×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01030
121130
2270128
Stop Event
node limit
Counts
3 → 111
Calls
Call 1
Inputs
(pow.f64 (/.f64 (*.f64 V l) A) -1/2)
(/.f64 (*.f64 V l) A)
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (*.f64 (/.f64 V A) l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/4) (pow.f64 (*.f64 (/.f64 V A) l) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) -1) (pow.f64 (*.f64 (/.f64 V A) l) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/4 (log.f64 (*.f64 (/.f64 V A) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) -1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 V A)) l)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 V A)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 V A)) l))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 V A)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 V A) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (/.f64 1 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (*.f64 l (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (*.f64 V (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V l) (/.f64 1 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 V A) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 V A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) 2) (cbrt.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) 2) (*.f64 (cbrt.f64 (*.f64 V l)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) (sqrt.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 (*.f64 V l)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V (neg.f64 l)) (/.f64 1 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V 1) (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V A) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) 2) 1) (/.f64 (cbrt.f64 (*.f64 V l)) A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 V l)) 1) (/.f64 (sqrt.f64 (*.f64 V l)) A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (cbrt.f64 (*.f64 A A))) (/.f64 l (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (cbrt.f64 (*.f64 A A))) (/.f64 V (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) -2) (/.f64 (*.f64 V l) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) 2) (cbrt.f64 (*.f64 A A))) (cbrt.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (cbrt.f64 (*.f64 A A))) (/.f64 (sqrt.f64 (*.f64 V l)) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (sqrt.f64 A)) (/.f64 l (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (sqrt.f64 A)) (/.f64 V (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A -1/2) (/.f64 (*.f64 V l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 V l)) 2) (sqrt.f64 A)) (/.f64 (cbrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 V A) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 V A) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 V l) 3) (pow.f64 A 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A (*.f64 V l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 V A) l))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 V A) l)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 V l) (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 V A)) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 V A) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 V l) 3) (pow.f64 A 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 V A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 V A) l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 V A) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 V A) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 V A) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 V) 1) (log.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 V l)) 1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 V l)) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 V l)) 1) (*.f64 (log.f64 A) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify86.0ms (0.5%)

Algorithm
egg-herbie
Rules
536×exp-sum_binary64
493×fma-neg_binary64
378×div-sub_binary64
370×exp-diff_binary64
345×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070720
1187720
2469612
31197504
43703504
Stop Event
node limit
Counts
159 → 123
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)

localize40.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
6.0b
(/.f64 (/.f64 A V) l)
14.3b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 30 to 8 computations (73.3% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
6.3b
(*.f64 l (/.f64 V A))
14.8b
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
22.7b
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
Compiler

Compiled 38 to 9 computations (76.3% saved)

series30.0ms (0.2%)

Counts
3 → 96
Calls

33 calls:

TimeVariablePointExpression
14.0ms
A
@inf
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
1.0ms
l
@0
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
1.0ms
A
@0
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
1.0ms
l
@inf
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
1.0ms
c0
@0
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))

rewrite71.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
654×log-prod_binary64
417×pow-prod-down_binary64
293×pow2_binary64
243×pow-unpow_binary64
207×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01035
121832
2322232
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A)))
(*.f64 l (/.f64 V A))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 l)) (sqrt.f64 (*.f64 c0 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 (/.f64 l c0) (/.f64 (/.f64 V A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 l (*.f64 c0 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 c0 (neg.f64 c0))) (sqrt.f64 (*.f64 l (neg.f64 (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 c0 (/.f64 l c0))) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l c0) (/.f64 (/.f64 V A) c0)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l c0) (/.f64 (/.f64 V A) c0))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 c0) (log.f64 (/.f64 (/.f64 A V) l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (*.f64 c0 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (*.f64 c0 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (*.f64 c0 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (*.f64 c0 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (/.f64 1 (/.f64 l (*.f64 c0 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))) (cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 4)) (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 c0) c0) (*.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (neg.f64 c0)) (/.f64 1 (*.f64 l (neg.f64 (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (/.f64 A V)) (/.f64 c0 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 c0 (/.f64 l c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3/2) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (/.f64 (*.f64 c0 c0) (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 1) (/.f64 c0 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) 1) (/.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) l) (/.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) (/.f64 V A)) (/.f64 (pow.f64 (cbrt.f64 c0) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (*.f64 l (/.f64 V A))) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 2)) (/.f64 c0 (cbrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) -2) (/.f64 (*.f64 c0 c0) (cbrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 2)) (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 c0) c0) (sqrt.f64 (*.f64 l (/.f64 V A)))) (/.f64 (pow.f64 (cbrt.f64 c0) 2) (sqrt.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c0 c0) (*.f64 l V)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) 1) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) (neg.f64 V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))) 5/6) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l c0) (/.f64 (/.f64 V A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 6) (pow.f64 (*.f64 l (/.f64 V A)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 l c0) (/.f64 (/.f64 V A) c0)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (neg.f64 (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (*.f64 c0 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 6) (pow.f64 (*.f64 l (/.f64 V A)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (*.f64 c0 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 c0) (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 c0) (log.f64 (/.f64 (/.f64 A V) l))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l V) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 l V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 V) l) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l (neg.f64 V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1))))))

simplify118.0ms (0.7%)

Algorithm
egg-herbie
Rules
542×fma-neg_binary64
405×times-frac_binary64
331×associate-/l*_binary64
330×unswap-sqr_binary64
310×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0161028
1381028
2891028
32231028
47271028
530921028
633971028
743101028
848951028
969731028
1077801028
Stop Event
node limit
Counts
220 → 132
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (neg.f64 c0))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (neg.f64 c0))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 A (pow.f64 c0 2)) (*.f64 V l))
(*.f64 (/.f64 A V) (/.f64 (*.f64 c0 c0) l))
(/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))
(*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0))
(/.f64 (/.f64 A V) (/.f64 l (*.f64 c0 c0)))
(*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V)))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 V (/.f64 l A))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
0.1b
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
6.2b
(sqrt.f64 (/.f64 A l))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series13.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
1.0ms
l
@-inf
(sqrt.f64 (/.f64 A l))
1.0ms
l
@0
(sqrt.f64 (/.f64 A l))
1.0ms
A
@0
(sqrt.f64 (/.f64 A l))
1.0ms
A
@-inf
(sqrt.f64 (/.f64 A l))
1.0ms
A
@inf
(sqrt.f64 (/.f64 A l))

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
419×exp-prod_binary64
377×pow-prod-down_binary64
275×pow2_binary64
210×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
121227
2287427
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A l))
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/6) (cbrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 (/.f64 A l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 (/.f64 A l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A l))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A l) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A l)) (*.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) 1/4) (*.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) 1) (/.f64 (pow.f64 (/.f64 A l) 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) 1) (/.f64 (pow.f64 (/.f64 A l) 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (cbrt.f64 V)) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A l) 1/4) (cbrt.f64 V)) (/.f64 (pow.f64 (/.f64 A l) 1/4) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (sqrt.f64 (/.f64 A l)) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A l)) (pow.f64 V 1/4)) (/.f64 (pow.f64 (/.f64 A l) 1/6) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A l) 3/2) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) 1) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (cbrt.f64 V)) (pow.f64 V 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 A l)) c0) (pow.f64 V 1/4)) (pow.f64 V 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) c0) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 (/.f64 A l)))) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 (/.f64 A l)) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
139 → 128
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 c0 (sqrt.f64 (/.f64 l A)))
0.6b
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
9.7b
(sqrt.f64 (/.f64 l A))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series67.0ms (0.4%)

Counts
3 → 24
Calls

27 calls:

TimeVariablePointExpression
51.0ms
A
@inf
(sqrt.f64 (/.f64 l A))
1.0ms
l
@0
(sqrt.f64 (/.f64 l A))
1.0ms
A
@-inf
(sqrt.f64 (/.f64 l A))
1.0ms
l
@-inf
(/.f64 c0 (sqrt.f64 (/.f64 l A)))
1.0ms
c0
@0
(/.f64 c0 (sqrt.f64 (/.f64 l A)))

rewrite116.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
602×log-prod_binary64
367×pow-prod-down_binary64
309×pow2_binary64
218×pow-unpow_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01130
123830
2309128
Stop Event
node limit
Counts
3 → 117
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 l A))
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
(/.f64 c0 (sqrt.f64 (/.f64 l A)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) 1/6) (cbrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l A)) (pow.f64 (/.f64 l A) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) 1/4) (pow.f64 (/.f64 l A) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (pow.f64 A -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 l)) (neg.f64 (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l A) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 l A)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l A) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A l) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 l A) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 l A)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 l A))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 l A) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 l A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l A)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l A)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l A))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 V -1/2) (/.f64 (sqrt.f64 (/.f64 l A)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (/.f64 l A)) (*.f64 (pow.f64 V -1/2) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 V -1/2) c0) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 V -1/2) c0)) (neg.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 V -1/2) c0) 1) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 V -1/2) c0) (cbrt.f64 (/.f64 l A))) (pow.f64 (/.f64 l A) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 V -1/2) c0) (pow.f64 (/.f64 l A) 1/4)) (pow.f64 (/.f64 l A) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) (pow.f64 V -1/2)) (neg.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 V -1/2) (neg.f64 c0)) (neg.f64 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 V -1) (*.f64 (*.f64 c0 c0) (/.f64 A l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) (*.f64 (pow.f64 V -1/2) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 V -1) (*.f64 (*.f64 c0 c0) (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 c0 (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 c0)) (*.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A l))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A l)) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 l A))) (/.f64 c0 (pow.f64 (/.f64 l A) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) (cbrt.f64 (/.f64 l A))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (/.f64 l A))) (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 l A) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) -1/4) (/.f64 c0 (pow.f64 (/.f64 l A) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 c0 c0)) (pow.f64 (/.f64 l A) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (/.f64 l A) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 l A) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 l A) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l)))) 1) 1))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012252
117252
218252
Stop Event
saturated
Counts
141 → 118
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))

eval196.0ms (1.1%)

Compiler

Compiled 8108 to 3027 computations (62.7% saved)

prune254.0ms (1.4%)

Pruning

26 alts after pruning (19 fresh and 7 done)

PrunedKeptTotal
New59610606
Fresh9918
Picked011
Done268
Total60726633
Error
0.8b
Counts
633 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
17.1b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
44.0b
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
50.2b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
36.6b
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)
17.9b
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
17.6b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
36.2b
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) c0))
27.9b
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
47.3b
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
37.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
17.6b
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
56.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
39.2b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
16.8b
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
44.3b
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
17.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
17.7b
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
17.7b
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
17.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
17.8b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
45.5b
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
35.8b
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
18.4b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
50.5b
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
45.4b
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
25.8b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
Compiler

Compiled 355 to 246 computations (30.7% saved)

regimes1.3s (7.6%)

Counts
64 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2))
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) c0))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 A c0) l) V) 1/2) (sqrt.f64 c0))
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (pow.f64 V -1)) (sqrt.f64 l))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0) 3))
(*.f64 c0 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)))))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))
Calls

10 calls:

217.0ms
A
214.0ms
c0
157.0ms
V
135.0ms
(*.f64 V l)
129.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
8.7b4A
10.1b4V
9.2b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
3.4b5(*.f64 V l)
3.4b5(*.f64 V l)
Compiler

Compiled 738 to 309 computations (58.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6643206670269553e+291
2.1151099996918947e+304
0.0ms
1.05e-321
8.698233e-318
0.0ms
-9.797727930743521e-301
-5.7811372037e-314
0.0ms
-3.677808315439359e+265
-2.480934114020591e+264
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes2.0s (11.3%)

Counts
58 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2))
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) c0))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 A c0) l) V) 1/2) (sqrt.f64 c0))
(*.f64 (pow.f64 (*.f64 (/.f64 A (*.f64 V l)) c0) 1/2) (sqrt.f64 c0))
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A)))) 2)
(pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

10 calls:

341.0ms
c0
270.0ms
l
267.0ms
A
236.0ms
V
209.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
8.7b4A
11.1b6V
9.2b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
3.4b5(*.f64 V l)
3.4b5(*.f64 V l)
Compiler

Compiled 661 to 285 computations (56.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6643206670269553e+291
2.1151099996918947e+304
0.0ms
1.05e-321
8.698233e-318
0.0ms
-9.797727930743521e-301
-5.7811372037e-314
0.0ms
-3.677808315439359e+265
-2.480934114020591e+264
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes959.0ms (5.4%)

Counts
51 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2))
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2))
(*.f64 c0 (sqrt.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)) c0))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A))))
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2))
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

10 calls:

154.0ms
c0
134.0ms
V
131.0ms
(*.f64 V l)
122.0ms
A
97.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
10.0b3A
11.2b6V
9.2b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
5.4b5(*.f64 V l)
5.4b5(*.f64 V l)
Compiler

Compiled 582 to 255 computations (56.2% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6643206670269553e+291
2.1151099996918947e+304
0.0ms
1.05e-321
8.698233e-318
0.0ms
-3.3800163086230954e-101
-1.9578049840187385e-103
0.0ms
-2.3287121516469927e+255
-2.3802636375906618e+253
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes984.0ms (5.6%)

Counts
42 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) 3/2))
(*.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

10 calls:

238.0ms
(*.f64 V l)
144.0ms
c0
108.0ms
l
105.0ms
A
101.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
14.3b4c0
9.9b5A
12.9b3V
10.7b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
7.2b5(*.f64 V l)
7.2b5(*.f64 V l)
Compiler

Compiled 486 to 219 computations (54.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6643206670269553e+291
2.1151099996918947e+304
0.0ms
1.05e-321
8.698233e-318
0.0ms
-3.3800163086230954e-101
-1.9578049840187385e-103
0.0ms
-2.3287121516469927e+255
-2.3802636375906618e+253
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes1.1s (6.1%)

Counts
35 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
Calls

10 calls:

237.0ms
(*.f64 V l)
204.0ms
(*.f64 V l)
94.0ms
(/.f64 A (*.f64 V l))
93.0ms
l
93.0ms
c0
Results
ErrorSegmentsBranch
14.3b4c0
12.5b3A
12.9b3V
11.2b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
8.6b5(*.f64 V l)
8.6b5(*.f64 V l)
Compiler

Compiled 420 to 201 computations (52.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.1819704629171252e+94
2.1801348335837355e+96
0.0ms
1.05e-321
8.698233e-318
0.0ms
-3.3800163086230954e-101
-1.9578049840187385e-103
0.0ms
-2.3287121516469927e+255
-2.3802636375906618e+253
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes722.0ms (4.1%)

Counts
34 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
Calls

10 calls:

116.0ms
V
82.0ms
(*.f64 V l)
75.0ms
c0
71.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
69.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
12.5b3A
12.9b3V
11.2b3l
10.9b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
9.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
9.9b3(/.f64 A (*.f64 V l))
9.9b3(/.f64 A (*.f64 V l))
8.6b5(*.f64 V l)
8.6b5(*.f64 V l)
Compiler

Compiled 411 to 199 computations (51.6% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.1819704629171252e+94
2.1801348335837355e+96
0.0ms
1.05e-321
8.698233e-318
0.0ms
-3.3800163086230954e-101
-1.9578049840187385e-103
0.0ms
-2.3287121516469927e+255
-2.3802636375906618e+253
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes493.0ms (2.8%)

Counts
32 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(sqrt.f64 (*.f64 (/.f64 1 l) (/.f64 (*.f64 c0 c0) (/.f64 V A))))
(/.f64 1 (*.f64 (/.f64 1 c0) (sqrt.f64 (/.f64 (*.f64 V l) A))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (*.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V))))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 (*.f64 (/.f64 1 A) (neg.f64 l)) (/.f64 -1 V)))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)
Calls

10 calls:

83.0ms
l
69.0ms
c0
58.0ms
A
50.0ms
(*.f64 V l)
50.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
14.7b3A
15.5b2V
12.3b5l
11.6b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
11.6b3(sqrt.f64 (/.f64 A (*.f64 V l)))
11.6b3(/.f64 A (*.f64 V l))
11.6b3(/.f64 A (*.f64 V l))
12.2b4(*.f64 V l)
12.2b4(*.f64 V l)
Compiler

Compiled 393 to 191 computations (51.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.071018567373007e+296
8.333044367112142e+297
0.0ms
0.0
5.05e-321
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes443.0ms (2.5%)

Counts
26 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0)
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (*.f64 (/.f64 c0 l) (*.f64 c0 (/.f64 A V))))
(sqrt.f64 (*.f64 A (*.f64 (/.f64 c0 l) (/.f64 c0 V))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 c0 (/.f64 l c0)) V) A))
(sqrt.f64 (*.f64 (/.f64 c0 (/.f64 l c0)) (/.f64 A V)))
(sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l (/.f64 V A))))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 l) (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (*.f64 V l)) A)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
Calls

10 calls:

70.0ms
l
58.0ms
c0
46.0ms
A
45.0ms
(/.f64 A (*.f64 V l))
42.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
14.3b4c0
14.7b3A
15.5b2V
12.3b5l
11.7b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
11.6b3(sqrt.f64 (/.f64 A (*.f64 V l)))
11.6b3(/.f64 A (*.f64 V l))
11.6b3(/.f64 A (*.f64 V l))
12.2b4(*.f64 V l)
12.2b4(*.f64 V l)
Compiler

Compiled 318 to 147 computations (53.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.071018567373007e+296
8.333044367112142e+297
0.0ms
0.0
5.05e-321
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes71.0ms (0.4%)

Counts
7 → 6
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

4 calls:

28.0ms
c0
19.0ms
V
14.0ms
A
7.0ms
l
Results
ErrorSegmentsBranch
13.4b6c0
16.0b2A
15.1b4V
17.5b1l
Compiler

Compiled 80 to 39 computations (51.3% saved)

bsearch145.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
1.1150205396406986e+229
4.1554174537491374e+232
43.0ms
5.176412743078385e-28
5.603633788447289e-21
44.0ms
1.248360844667452e-212
8.692579059902924e-212
25.0ms
-3.625813747866198e-134
-5.461835111484281e-143
23.0ms
-2.208557746738158e+69
-5.580706294405795e+66
Compiler

Compiled 45 to 32 computations (28.9% saved)

regimes144.0ms (0.8%)

Counts
6 → 6
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

4 calls:

60.0ms
c0
39.0ms
V
29.0ms
A
12.0ms
l
Results
ErrorSegmentsBranch
13.4b6c0
16.0b2A
15.1b4V
17.5b1l
Compiler

Compiled 72 to 35 computations (51.4% saved)

bsearch129.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
6.0ms
1.1150205396406986e+229
4.1554174537491374e+232
23.0ms
5.176412743078385e-28
5.603633788447289e-21
23.0ms
1.248360844667452e-212
8.692579059902924e-212
33.0ms
-3.625813747866198e-134
-5.461835111484281e-143
43.0ms
-2.208557746738158e+69
-5.580706294405795e+66
Compiler

Compiled 45 to 32 computations (28.9% saved)

regimes58.0ms (0.3%)

Counts
5 → 6
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Calls

4 calls:

24.0ms
c0
17.0ms
V
10.0ms
A
5.0ms
l
Results
ErrorSegmentsBranch
13.8b6c0
16.4b2A
15.3b4V
17.6b1l
Compiler

Compiled 64 to 32 computations (50% saved)

bsearch97.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
1.1150205396406986e+229
4.1554174537491374e+232
23.0ms
5.176412743078385e-28
5.603633788447289e-21
23.0ms
8.711963771172487e-234
1.7084865516180402e-232
23.0ms
-3.625813747866198e-134
-5.461835111484281e-143
23.0ms
-2.208557746738158e+69
-5.580706294405795e+66
Compiler

Compiled 45 to 32 computations (28.9% saved)

regimes39.0ms (0.2%)

Accuracy

Total -9.6b remaining (-67.2%)

Threshold costs -9.6b (-67.2%)

Counts
2 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
Outputs
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
(/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Calls

4 calls:

17.0ms
c0
11.0ms
V
6.0ms
A
3.0ms
l
Results
ErrorSegmentsBranch
14.3b5c0
16.4b2A
16.4b2V
17.6b1l
Compiler

Compiled 40 to 28 computations (30% saved)

bsearch94.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
5.176412743078385e-28
5.603633788447289e-21
23.0ms
8.711963771172487e-234
1.7084865516180402e-232
23.0ms
-3.625813747866198e-134
-5.461835111484281e-143
23.0ms
-2.208557746738158e+69
-5.580706294405795e+66
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify51.0ms (0.3%)

Algorithm
egg-herbie
Rules
23×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01361158
11631158
21721158
31781158
41811158
51821158
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))))))
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 (/.f64 A (*.f64 V l)) 1000000000000000017652801462756379714374878780719864776839443139119744823869255243069012222883470359078822072829219411228534934402712624705615450492327979456500795456339201761949451160807447294527656222743617592048849967890105831362861792425329827928397252374398383022243308510390698430058459037696) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 (/.f64 A (*.f64 V l)) 1000000000000000017652801462756379714374878780719864776839443139119744823869255243069012222883470359078822072829219411228534934402712624705615450492327979456500795456339201761949451160807447294527656222743617592048849967890105831362861792425329827928397252374398383022243308510390698430058459037696) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 3898454584122557/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 3898454584122557/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Outputs
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))))))
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 V (neg.f64 l))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))))))
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -20000000000000001330293251784077024404771326911320976908787298030835333694183123784100048437476144137746460631060770586711684590915444743656162943995952194793889144970883957474817615854880173231735058974284480539885410778819330483862894400308606204866790619762130944) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6032057205060441/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 V (neg.f64 l))))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (*.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 1999999999999999915721804700692568264307103756193028567705035546458066308011144957252473074143807250296165225781973727428404914040084012839363052749931748355577247086899988970114516525323491896053535264551226099793920157922636301090836929322135983339163576571058010961411376392137707276468224) (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l)) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 (pow.f64 (/.f64 (*.f64 V l) A) -1/2) c0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (*.f64 V l) -1999999999999999976905139389282906579782825695533667793354736930857696261802069818591759239817890633118585175139916931349309985855457249115766978327499080492713782258213467183862609667387277131256364612156226766545565568781988099212151532024379513329680384) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -6304320991423117/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 405/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) 20000000000000000404377582543118939771521926464287154822755537124160080099963286187173956550656) (*.f64 c0 (pow.f64 (/.f64 (*.f64 V l) A) -1/2)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 (/.f64 A (*.f64 V l)) 1000000000000000017652801462756379714374878780719864776839443139119744823869255243069012222883470359078822072829219411228534934402712624705615450492327979456500795456339201761949451160807447294527656222743617592048849967890105831362861792425329827928397252374398383022243308510390698430058459037696) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2) c0)))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 (/.f64 A (*.f64 V l)) 1000000000000000017652801462756379714374878780719864776839443139119744823869255243069012222883470359078822072829219411228534934402712624705615450492327979456500795456339201761949451160807447294527656222743617592048849967890105831362861792425329827928397252374398383022243308510390698430058459037696) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 c0 (pow.f64 (*.f64 l (*.f64 V (/.f64 1 A))) -1/2))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 (/.f64 A (*.f64 V l)) 1000000000000000017652801462756379714374878780719864776839443139119744823869255243069012222883470359078822072829219411228534934402712624705615450492327979456500795456339201761949451160807447294527656222743617592048849967890105831362861792425329827928397252374398383022243308510390698430058459037696) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 4731696281899449/379032737378102767370356320425415662904513187772631008578870126471203845870697482014374611530431269030880793627229265919475483409207718357286202948008100864063587640630090308972232735749901964068667724412528434753635948938919936) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 3898454584122557/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 3898454584122557/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 10000000000000000564754110205208414148406263819830583747005651641554565639675781971892197615894599829797681693475363620965659806446069238773051601456032797794197839403040623198185642380825912769195995883053017532724018486962951290880) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
(if (<=.f64 c0 -2208557746738157822916177400232013490355536702463266146904126980620288) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 -7417940417653701/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (if (<=.f64 c0 3898454584122557/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l)))) (if (<=.f64 c0 5771893081290901/11150372599265311570767859136324180752990208) (/.f64 c0 (sqrt.f64 (*.f64 l (/.f64 V A)))) (/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))))
(/.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))
Compiler

Compiled 818 to 399 computations (51.2% saved)

soundness10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Compiler

Compiled 24 to 16 computations (33.3% saved)

end175.0ms (1%)

Compiler

Compiled 928 to 298 computations (67.9% saved)

Profiling

Loading profile data...